0

次のようなコード行があります。

const int maxtext=1000;
char text[maxtext];

cin.getline(text,maxtext);

それから私が見ようとすると、

sizeof(text)

入力の長さではなく、maxtext が表示されます。

私が間違っていることは何ですか?

PD.: < string > ライブラリの関数が使えません。

4

1 に答える 1

4

sizeof(text)の内容は調べませんtext(オブジェクトのサイズをバイト単位で返します。sizeofを参照してください) textstrlen(text)代わりに使用してください。textを使用する前に、次の情報が入力されていることを確認してくださいtext

if (cin.getline(text, maxtext))
{
}

std::getline()withを使用することで、読み込み用に固定サイズをハードコーディングすることを避けることができますstd::string:

std::string text;
if (std::getline(std::cin, text))
{
}
于 2013-04-09T14:12:24.210 に答える