我有一個文件,其中包含整理成行,並用空格分隔。行數和長度都是未知的。如何遍歷文件中的一行?
我目前正在逐行遍歷文件,並且我試圖遍歷每行字符,但我遇到了一些麻煩。我目前正在將每行的內容存儲爲一個字符串,但我懷疑這不是最好的方式,我希望有人能指出我正確的方向。
這裏是我當前的代碼,簡單的打印文件中的每一行:
std::string filename = "values.txt";
std::ifstream file(filename.c_str());
std::string line;
while (std::getline(file, line))
{
std::cout << line << std::endl;
}
我從蟒蛇來了,這很容易實現這一點,就像這樣:
for line in file:
for char in line:
print char
然而,不因爲我對C++相當陌生,知道for循環的行數/長度會讓我失望。我還想讀取字符作爲整數,而不是字符串,但我還沒有能夠找出那一個。什麼是在C++中實現這個最正確的方法?
任何幫助,非常感謝。
你檢查了[這裏](http://stackoverflow.com/questions/20710172/looping-through-every-character-in-user-input)和[這裏](http://stackoverflow.com/questions/9438209 /換每個字符,在字符串)? – TigerhawkT3
我不明白你的問題是什麼?當你展示它時,用'std :: getline()'讀取行是完美的。 –
你可以使用[這個答案](http://stackoverflow.com/questions/236129/split-a-string-in-c/236803#236803)到以前的帖子,會告訴你如何可以拆分你的字符串從每一行獲得,然後你可以對單個字符串進行操作(將它們轉換爲整數,雙精度等...) – Jvinniec