Iは、例えば、次のステートメントを使用している場合:のstd :: cin.getline(F_NAME、10)
char f_name[11];
std::cin.getline(f_name,10);
チアどういう意味: は*ワイド11文字の文字列を宣言? *入力した行を読み込み、 "f_name"の値として渡しますか?
ありがとうございました。
Iは、例えば、次のステートメントを使用している場合:のstd :: cin.getline(F_NAME、10)
char f_name[11];
std::cin.getline(f_name,10);
チアどういう意味: は*ワイド11文字の文字列を宣言? *入力した行を読み込み、 "f_name"の値として渡しますか?
ありがとうございました。
はい、あなたは正しいです!
char f_name[11];
は11
要素を持つアレイf_name
を宣言する。
std::cin.getline(f_name,10);
は、入力する値を入力し、f_name[11]
に格納します。
はい、いいえ。
char f_name[11];
は、11要素でchar
の配列を宣言します。実際には文字列ではありません。末尾にNUL('\0'
)があれば、それを "C文字列"と見なすことができます。
std::cin.getline(f_name, 10);
最大9文字までしか読み取ることができないため、入力行全体を読み取ることも、読み取らないこともあります。 ではなく、が指定された値より大きいバッファをcin.getline
にする必要があります。
具体的な理由がない限り、std::getline
を使用してC++で行を読み込みます。以下の例。
#include <string>
std::string line;
std::getline(std::cin, line);