使用cin從使用者讀取完整行
嘗試使用cin
讀取使用者輸入的完整行時,開發人員經常遇到只捕獲第一個單字的問題。為了解決這個問題,必須使用正確的行提取方法。在給定的 C 程式碼中,您使用了 cin >> y;
收集使用者輸入。但是,這種方法只能讀取第一個空格字符,因此只能捕獲單字。要有效讀取整行輸入,請切換到使用 getline(cin, response) ;
。這是程式碼的更新版本:#include <iostream> #include <string> 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; cout << "What would you like to write." << endl; getline(cin, response); // Use getline instead of cin >> 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; } }
透過利用 getline
,您現在可以有效地捕獲整行輸入,解決僅讀取單字的問題。以上是為什麼 cin 只讀取使用者輸入的第一個字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!