[英]Read Text File Line by Line, then word by word c++, push on to an array
我的數據如下:
12 32 21 42
33 566 332 12
66 994 4 33
12 33 33 41
我想將前三個值推入整數向量,而忽略最后一個值。 我需要在每一行中有一個新的前三個數字向量。 只是空格用作分隔符(TAB)。 謝謝!
好吧,最終您希望以文本文件中每行3個整數的std::vector<int>
結尾。 這基本上是解析文件的練習,使用C ++文件流對象和流輸入迭代器非常容易。
使用std::ifstream
對象打開文件。 然后,您可以使用std::istream_iterator<int>
遍歷文件中的每個整數。 這將提取每個整數,因此您可以將其存儲在向量中。 如果要舍棄每行的第四個整數,只需方便使用計數器變量,這樣就可以舍棄每第4個值。
這基本上就是它。 我會留給你實際生成代碼。
std::getline()
遍歷文件中的每一行 std::istringstream
以解析出整數 注意這里發生的事情:您寫了一個問題,我將其翻譯為一系列指令,最后將其翻譯為代碼。 這就是我們編寫簡單程序的方式。 訣竅在於充分了解問題,以將其轉換為上述偽代碼 。
如果您只是直接讀取文件, std::ifstream
將起作用。 如果你正在使用getline
(這里真的沒有必要),你可以編寫一個簡單的split函數來分隔值並插入你想要的值。 因為這聽起來像學校作業,我懷疑你會想要使用boost::
方法,這會使這相當微不足道。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.