2

文字列の使用が許可されていない割り当てを行っています。char 配列を使用する必要があります。これは私のコードです:

cout << "Enter Album name: ";
cin >> CDdata[count].title;     
fout << CDdata[count].title;

問題は、スペースを含むものを入力すると、コードの残りの部分が台無しになることです。

スペースを含むものを入力できるようにするにはどうすればよいですか?

4

3 に答える 3

5

を使用しcin.getline(CDdata[count].title, 1000)ます。2 番目のパラメーターは、char 配列の長さですCData[count].title

上記の関数は、1000 文字を読み取るか、区切り文字が見つかるまで読み取ります。これは、デフォルトでは改行 ( \n) ですが、次のように変更できます。

 cin.getline(CDdata[count].title, 1000, ',') //delimiter is changed to ','

より正式な説明が必要な場合は、こちらをお読みください

PS: 2 番目の引数として 1000 をプレースホルダーとして使用しました。それに応じて変更する必要があります。

于 2013-06-10T05:54:34.367 に答える
1

スペースではなく、終了文字として自由に使用cin.getline()してください。'\n'

于 2013-06-10T05:54:30.353 に答える