0

たとえば、次のステートメントがあるとします。

char f_name[11];
std::cin.getline(f_name,10);

thia の意味: * 11 文字幅の文字列を宣言する? * 入力された行を読み取り、「f_name」の値として渡しますか?

ありがとう。

4

2 に答える 2

1

はいといいえ。

char f_name[11];

char11個の要素を持つの配列を宣言します。これは実際には文字列ではありません。最後にNUL()がある場合は、「C文字列」と見なすことができます'\0'(そうではありません)。

std::cin.getline(f_name, 10);

最大9文字しか読み取れないため、入力した行全体を読み取る場合と読み取らない場合があります。バッファをに指定された値より大きくする必要はありませんcin.getline

特に理由がない限りstd::getline、C++で行を読み取るために使用します。以下の例。

#include <string>
std::string line;
std::getline(std::cin, line);
于 2011-01-20T11:12:13.113 に答える
1

はい。それで合っています!

char f_name[11];

要素を持つ配列f_nameを宣言します。11

std::cin.getline(f_name,10);

値の入力を求めるプロンプトが表示され、値が に保存されf_name[11]ます。

于 2011-01-20T10:54:30.420 に答える