簡體   English   中英

讀取一些整數,然后在 C++ 中讀取一行文本

[英]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

如何清除cincin.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM