ホームページ > バックエンド開発 > C++ > C でユーザーからのテキスト行全体を読み取る方法

C でユーザーからのテキスト行全体を読み取る方法

Linda Hamilton
リリース: 2024-11-20 15:11:11
オリジナル
851 人が閲覧しました

How to Read an Entire Line of Text from the User in C  ?

Cin を使用してユーザーから行全体を読み取る

提供された C コードで、テキスト行をファイルに書き込むことを目的としています。 , しかし、行全体ではなく 1 つの単語だけが書かれ​​ているという問題が発生します。解決策は、コードによるユーザー入力の処理にあります。

コードは cin >> を使用しています。 y はユーザーからの文字を読み取りますが、これは入力された最初の文字のみをキャプチャします。行全体を読み取るには、別のアプローチを使用する必要があります。

cin の代わりに >> y、次のコードを使用します:

string response;
getline(cin, response);
ログイン後にコピー

この行は getline を使用して、ユーザーからのテキスト行全体を読み取ります。入力されたテキストは、文字列変数の応答に保存されます。

この変更をコードに組み込む方法は次のとおりです。

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート