2012-08-24 67 views
0

讀我需要從一個逗號分隔的.txt文件中讀取每一行看起來是這樣的:C++格式,從.txt文件

1234,0987,鮑勃,23.45

(即INT,INT,字符串,雙)

使用下面的設置代碼:

fstream myFile; 
myFile.open("textfile.txt" , ios::in); 
if (myFile.is_open()) { 
    //read in characters as appropriate type until ',' 
} 

我曾嘗試使用

myFile >> int1 ...... 

但我不確定如何處理逗號;他們可能會在整數閱讀時被過濾掉,但是當我接觸到字符串時它會起作用嗎?

我的一位同學建議stringstream,但是我發現cplusplus.com上的文檔超出了我的頭。

+3

['標準:: getline'(http://en.cppreference.com/w/cpp/string/basic_string/getline)接受一個分隔符。你可以玩那個。它可能不是我能想到的最優雅的方法,但對於「C++新手」,應該可以玩弄。 – chris

+0

讀入字符串,然後解析,或使用strtok,然後解析爲值,或使用sscanf,或使用正則表達式,或其他東西... – ForEveR

+0

http://stackoverflow.com/search?q=%5Bc%2B%2B %5D +閱讀+從+逗號+分隔+文件 – acraig5075

回答

1

你可能想嘗試一下std::getline功能:

istream& getline (istream& is, string& str, char delim); 
istream& getline (istream& is, string& str); 

(從http://www.cplusplus.com/reference/string/getline/

+0

http://jcatki.no-ip.org/fncpp/cplusplus.com – 2012-08-24 07:50:34