[英]C++ Beginner: std::cin to std::string
剛開始學習C++,在做練習時遇到了字符串問題。
所以我初始化std::string phrase;
同時允許用戶使用std::cin >> phrase;
. 現在我的問題是當輸入的短語有空格時,我注意到計算機只會將字符保存到第一個單詞。
使用短語"sunsets are great"
時, phrase.size()
只出現了 7,因此第一個空格之后的以下單詞沒有被保存。
整個練習應該將整個輸入字符串中的所有字母與另一組值進行比較。 我應該為此使用不同的 function 嗎?
任何幫助,將不勝感激: :)
我剛開始的時候也遇到過這個問題。 每當您想讀取字符串時,我都會使用 getline。
IE
string phase
cout << "enter phase" <<endl;
getline(cin,phase);
如果你想取一整行,包括空格,你可以使用下面的代碼:
string str; // declaration
getline(cin, str);
請記住: cin.get
和cin
將在第一個空格之后修剪所有輸入的字符。
享受。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.