使用Cin 從使用者讀取整行
在您提供的C 程式碼中,您的目標是將一行文字寫入文件,但是您遇到一個問題,即只寫入一個單字而不是整行。解決方案在於程式碼對使用者輸入的處理。
代碼使用 cin >> y 從用戶處讀取字符,但這僅捕獲輸入的第一個字符。要讀取整行,需要使用不同的方法。
而不是 cin >> y,使用以下程式碼:
string response; getline(cin, response);
這一行使用 getline 從使用者讀取整行文字。輸入的文字將儲存在字串變數response中。
以下是如何將此變更合併到您的程式碼中:
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); ofstream file; file.open("Characters.txt"); file << strlen(response.c_str()) << " Characters." << endl; file << endl; file << response; // Now writes the entire line file.close(); cout << "Done. \a" << endl; } else { cout << "K, Bye." << endl; }
透過使用getline 讀取完整的行,您現在可以有效地將多字回覆寫入您的文件。
以上是如何用 C 語言讀取使用者的整行文字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!