如何使用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中文網其他相關文章!