1. ホーム
  2. c++

[解決済み] cin.getline()による文字配列

2022-02-16 07:21:25

質問

文字列を使うことが許されない課題をやっているのですが、文字配列を使わなければなりません。これは私のコードです。

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 ','

もっと正式な説明が必要な場合は こちら .

追伸 第2引数の1000はプレースホルダーとして使用しました。それに応じて変更してください。