2013-05-06 73 views
0

嘿傢伙我有一個關於將輸出存儲到變量的問題。比方說,我定義了3個變量如下:C++:如何將字符串的其餘部分存儲在變量中?

float num, 
string units, 
string rest; 

和用戶在控制檯輸入此:

12.2 
mg 
Vitamin 

我知道如果我想將它存儲在變量,我必須做到以下幾點:

cin >> num >> units >> rest; 

但讓我們假設用戶輸入維生素A而不是維生素。

而我想將剩餘的字符串mg存儲到'rest'變量中。 我該怎麼做?

我做了以下內容:

cin >> num >> units; 
getline(cin,rest); //stores the rest of the string into rest 

但這還存儲空格字符後mg即如果我輸出rest,它會輸出" Vitamin A"。一開始我不想要這個空間。我該如何做到這一點?

我知道這很長,但我希望我已經說清楚了。 任何幫助或建議都會有所幫助。 謝謝,

回答

3

您可以通過使用std::ws

cin >> num >> units; 
ws(cin); 
getline(cin, rest); 

跳過空格,您可以在這裏看到現場工作示例:ignore leading whitespace

+0

由於它的工作原理 – 2013-05-06 03:12:51

+0

@Cheetahjimi歡迎您。 – taocp 2013-05-06 03:13:19

相關問題