[英]Reading some integers then a line of text in C++
我正在讀取 C++ 程序中的輸入。 首先是一些整數,然后是一個字符串。 當我嘗試使用getline(cin,stringname);
讀取字符串時getline(cin,stringname);
,它不讀取用戶鍵入的行:相反,我得到一個空行,從用戶鍵入整數后按Enter開始。
cin>>track.day; //Int
cin>>track.seriesday; //Int
getline(cin,track.comment); //String
如何清除cin
( cin.clear()
不起作用),以便字符串不會用“輸入”鍵填充自身?
這是一個正常的輸入接收,代碼頂部沒有什么特別的,我遇到了這樣的問題,但我忘記了我需要以某種方式清除cin
的解決方案,這樣字符串就不會被“輸入”鍵填充。
我認為你的整數 cin 沒有在句子之前閱讀新行。 cin 跳過前導空格並在遇到非數字(包括空格)時停止讀取數字。
所以:
std::cin >> num1;
std::cin >> num2;
std::cin.ignore(INT_MAX, '\n'); // ignore the new line which follows num2
std::getline(std::cin, sentence);
可能對你有用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.