2014-02-06 26 views
0

我想读取一个文件并将每行放入一个字符串中(每行包含一个单词) 我已使用getline但它没有' t工作也没有>>命令。 这里是我的代码: (我使用的Visual Studio)从文件中读取一行并将其放入一个字符串中(使用fstream)

string device_kind; 
ifstream bank_info; 
bank_info.open ("acquirer.info"); 

bank_info >> device_kind; //fails to compile 
getline (bank_info, device_kind); //also fails 

bank_info.close(); 
+1

“编译失败”是不是一个非常有用的问题说明。你的编译器提供了比这更多的细节。 – molbdnilo

+0

'bank_info >> device_kind'不应该编译失败。或者你的意思是它不像你想要的那样工作?确保你已经包含''! – mb84

回答

0

使用bank_info.geline(device_kind,size) 函数getline是ifstream的所以用使用它的成员函数。运营商。

+0

还有一个全局C++函数'std :: getline()',这是OP使用的函数。你使用的成员函数版本是C风格的数组,那行代码不能编译。 – 0x499602D2

0

my code on IDEONE

string device_kind; 
ifstream bank_info("acquirer.info"); 

if(!bank_info.bad()) 
{ 
    getline(bank_info, device_kind); 
    cout << device_kind; 
} 

bank_info.close(); 

它输出文件的第一行对我来说,所以它也应该为你工作!

如果你想读线的vector<string>你的文件,你可以做到这一点,就像我在这里做的:http://ideone.com/qNW5N9

相关问题