2

関数でデータを入力しようとしましgets()たが、プログラムの実行が でリーエンに到達するたびgetsに無視されます。

gets()事前のデータ入力なしで使用すると、正常に動作します。しかし、データ入力後に使用すると問題が発生します。

前のデータ入力の後に使用されるコードは次のとおりです (実行中は文字列にデータを入力できません)。

int main() {
    char str[255];
    int a = 0;
    cin >> a;
    if(a == 1) {
        gets(str);
        cout << "\n" << str << endl;
    }
}

どうすればこれを修正できますか?

注意: cin.getline でも同じことが起こります

4

1 に答える 1