3

動作していないこのプログラムがあります。

char arr[200] ;
char *p = arr;
cout << "Enter the string and press ENTER: ";
cin.getline(*p,200);

問題はおそらく、私が cin.getline() でポインターを使用しているためです。

私の質問は

cin.getline でポインターを使用することは可能ですか?

はいの場合。ではどうやって?

いいえ。では、その問題を回避する方法 (特に文字列を関数に渡す方法) について説明します。

4

2 に答える 2

8

はい、可能です。構文が間違っているだけです。

cin.getline(p,200);

istream::getline はポインターを想定しているため、あなたが行ったように逆参照する必要はありません。

于 2012-08-11T19:41:27.513 に答える
2
cin.getline(*p,200);

*pのタイプcharです。へのポインターを逆参照しているcharためchar、順番に戻ってきます。あなたはポインタを渡していません。渡すだけですp

cin.getline(p, 200);
于 2012-08-11T19:41:38.030 に答える