0

1000 個の要素を保持できる文字配列があります (「\0」の場合は +1)。配列はユーザ​​ー入力によって埋められます。入力が配列が保持できる以上のものであるかどうかを確認する方法があるかどうか疑問に思っていました。追加しようとすると、サイズを比較する前にプログラムがクラッシュします。配列を拡張して、入力が 1000 文字未満かどうかを確認することを考えていましたが、そのアイデアはあまり良いものではないようです。

編集:

std::cin.getline()ユーザーからの入力を取得するために使用していて、クラスを使用できませSting

4

2 に答える 2

1

簡単な答え: はい。

使用std::string:

std::string line
while (std::getline(std::cin, line))
{
    // do something with line
}

の使用が許可されていない場合はstd::string、独自の文字列クラスをロールするか、 の一般的な実装を調べてstd::getline模倣することができます (単に に格納する必要はありませんstd::string)。

于 2013-10-07T19:58:35.287 に答える