在 C 中,读取完整的用户输入行可能具有挑战性。本文解决了使用“cin”函数从一行读取多个单词的问题。
我们有一个现有代码,提示用户输入一行文本并将其写入文件。然而,该代码目前一次只能读取一个单词。为了解决这个问题,我们需要使用“getline()”函数而不是“cin”。
更正后的代码应如下所示:
#include <iostream> #include <cstdlib> #include <cstring> #include <fstream> using namespace std; int main() { char x; cout << "Would you like to write to a file?" << endl; cin >> x; if (x == 'y' || x == 'Y') { string response; // Changed data type to string cout << "What would you like to write?" << endl; getline(cin, response); // Using getline() now ofstream file; file.open("Characters.txt"); file << strlen(response) << " Characters." << endl; file << endl; file << response; file.close(); cout << "Done. \a" << endl; } else { cout << "K, Bye." << endl; } return 0; }
这里的本质变化是使用“getline(cin, response)”而不是“cin >> y”。 “getline()”读取一行文本,包括空格,使其适合我们的目的。
以上是如何在 C 中使用 getline() 读取完整的用户输入行?的详细内容。更多信息请关注PHP中文网其他相关文章!