2016-11-28 167 views
-1

我在文本文件中包含以下內容。從C++中的文本文件讀取多個數據類型

Waterpark Avenue 3000 
Coit 1010 
Synergy Park 9119 
Joaquin 1980 
Richardson 2413 

我想讀取文件以這樣的方式,我可以輸出使用運輸及工務局局長在不同列中的細節()運算符。 我在這裏面臨的問題是一些行有2個名字,其他行只有1個,我找不到解決它的方法。

+0

檢查這是否有幫助:http://stackoverflow.com/questions/23047052/why-does-reading-a-record-struct-fields-from-stdistream-fail-and-how-can-i-fi –

回答

2

我可能會開始閱讀一整行字符串。然後我會從字符串的右端開始搜索第一個非數字。或者,取決於,我可能會搜索從字符串右端開始的第一個空格字符(這兩個在您的示例中似乎相同)。

無論哪種方式,一旦你找到了這一點,你可以創建一個字符串從開始到那裏,另一個從那裏到結束。

+0

你能否給我一個示例代碼來搜索右邊的第一個空格並創建一個新的字符串。 問題是我被限制使用我在課堂上教過的東西,但她只是覆蓋閱讀文字中的字符串或數字。 –

+0

@AshwinNishad有用的標準函數是['find_last_of'](http://en.cppreference.com/w/cpp/string/basic_string/find_last_of),['substr'](http://en.cppreference.com/ w/cpp/string/basic_string/substr)和['isdigit'](http://en.cppreference.com/w/cpp/string/byte/isdigit)編輯和['getline'](http:/ /en.cppreference.com/w/cpp/string/basic_string/getline)。 – user4581301

+0

如果它是一個類項目,並且你不能使用某些東西,你總是可以回退到一個for循環來從結尾掃描字符串。 – Donnie