C を使用してユーザーから行全体を効果的に読み取る方法
コードでは、テキスト行をファイルに書き込むことを目的としていました。しかし、ユーザーからの全行を読み取るのが困難でした。このガイドでは、適切な入力メソッドを使用して完全な行を効果的に取得する方法について説明します。
入力行全体を読み取るには、getline を使用する必要があります。構文は次のとおりです。
string response; getline(cin, response);
この変更を組み込んだコードの修正バージョンを次に示します。
#include <iostream> #include <fstream> #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 y; cout << "What would you like to write?" << endl; getline(cin, y); // Use getline to read the entire line 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; }
この更新されたコードでは、cin >> という行が追加されています。 y;は getline(cin, y); に置き換えられ、プログラムはユーザーが入力した行全体を読み取り、それを y 文字列に格納できるようになります。これにより、完全な行がファイルに書き込まれることが保証されます。
以上がC でユーザーからの入力行全体を読み取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。