文字列の使用が許可されていない割り当てを行っています。char 配列を使用する必要があります。これは私のコードです:
cout << "Enter Album name: ";
cin >> CDdata[count].title;
fout << CDdata[count].title;
問題は、スペースを含むものを入力すると、コードの残りの部分が台無しになることです。
スペースを含むものを入力できるようにするにはどうすればよいですか?
文字列の使用が許可されていない割り当てを行っています。char 配列を使用する必要があります。これは私のコードです:
cout << "Enter Album name: ";
cin >> CDdata[count].title;
fout << CDdata[count].title;
問題は、スペースを含むものを入力すると、コードの残りの部分が台無しになることです。
スペースを含むものを入力できるようにするにはどうすればよいですか?
を使用し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 をプレースホルダーとして使用しました。それに応じて変更する必要があります。
スペースではなく、終了文字として自由に使用cin.getline()
してください。'\n'