ホームページ >バックエンド開発 >C++ >C でユーザーからの入力行全体を読み取るにはどうすればよいですか?

C でユーザーからの入力行全体を読み取るにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-22 22:43:16591ブラウズ

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

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。