2017-04-02 4 views
-2

文字列にスペースを入れて入力する方法がわからないので、最初に文字を格納して文字列にコピーしたいと思います。文字列にstrcpyを使用する?

string name[2]={"Sample name"}; 
char apname[50]; 

cout << "Input Name: "; 
cin.getline(apname,sizeof(apname)); 
strcpy (apname,name[2]); 

これを行う簡単な方法がある場合は、私に手伝ってください。

答えて

1

これは良い方法である:エラーチェック、プロンプト、および繰り返しで

​​

、それはなるだろう:C++標準ライブラリが提供する空白をスキップオペレータ<<に加えて

for (std::string line; 
    (std::cout << "Input name: ") && std::getline(std::cin, line);) 
{ 
    std::cout << "You said: " << line << "\n"; 
} 
std::cout << "Goodbye\n"; 
+0

[Demo](https://wandbox.org/permlink/In0jk2ZlxJ3dOIQl) –

1

std::getline文字列の関数オーバーロード。代わりにそれを使用してください:

std::string name; 
std::getline(cin, name); 

strcpy(apname, name[2]); 

はいくつかの理由で誤っている呼び出す

あなたの機能:あなたはのアレイ上string

  • name[2]に直接文字をコピーすることはできません

    • 2つの項目が配列の最後を過ぎて項目を参照しています。
  • 関連する問題