如何使用 getline(cin, x) 获取完整的用户输入
在编程中,读取用户输入是一项基本任务。虽然 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 y; cout << "What would you like to write?" << endl; getline(cin, y); // Replace cin >> y; ofstream file; file.open("Characters.txt"); file << strlen(y) << " Characters." << endl; file << endl; file << y; file.close(); cout << "Done. \a" << endl; } else { cout << "K, Bye." << endl; } return 0; }
在原始代码中,该行辛>> y;只会读取单个单词,而不是用户输入的整行文本。要纠正这个问题,应将 cin 函数修改为 getline(cin, y);。
getline() 函数允许您从标准输入(即用户的键盘)读取完整的输入行并将其存储在字符串变量 y 中。这确保后续代码可以访问用户输入的整行文本,使您能够将其写入文件或根据需要执行其他操作。
以上是为什么使用 getline(cin, x) 来获取完整的用户输入?的详细内容。更多信息请关注PHP中文网其他相关文章!