我想指出我不擅長C++,我通常使用C,但我認爲了解一些C++基本會很好,所以我需要發送數據到服務器和正常的std :: cin >>變量不能這樣做,因爲它只能讀取到空間,讓我讀到函數getline和它的工作很好,但是當我在無限循環中做一些liek此:C++ Getline簡單錯誤
for (;;)
{
std::cout << "Hello" << std::endl;;
std::getline(std::cin,darek.wiadomosc);
}
德寧第一itteration它在屏幕上顯示雙你好: 你好 你好 正在輸入的字符串
但是在一個循環它顯示了一切都很好。這是與getline問題,我敢肯定,因爲當我將它改爲std :: cin >>只是爲了測試它的工作。任何人都可以回答我的簡單問題嗎?
你想做什麼?你不應該對有一個無限循環感到驚訝:你使用'for(;;)'並且沒有中斷。無論如何,你可能想查看一本[介紹性的C++書](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list),以便你可以正確地學習語言;您的C語言知識僅對C++ * syntax *的一小部分有用,對於慣用和正確的C++編碼可能根本無用。 – GManNickG 2011-03-14 21:07:38
我知道thre不是中斷......我只是想用它來測試我知道如何處理循環中斷,這不是主題。 – Darek 2011-03-14 21:08:17
你使用什麼編譯器和操作系統?這在Windows和Visual C++中工作正常(在開始時只打印一個Hello)。問題可能是您的OS /運行環境在運行程序時不會清除標準輸入,從而使第一個getline立即返回。沒有更多的信息,我不能肯定地說。 – 2011-03-14 21:08:48