Я хочу прочитать файл и поместить каждую строку в строку (каждая строка содержит одно слово), я использовал getline
но он не работает и не делает команду >>
. здесь мой код: (я использую визуальную студию)
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();
Посмотрите мой код на 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
use bank_info.geline(device_kind,size)
getline является функцией-членом ifstream, поэтому используйте ее. оператор.
std::getline()
, которую использует OP. Версия функции-члена, которую вы используете, предназначена для массивов в стиле C, эта строка кода не будет компилироваться.
bank_info >> device_kind
не долженbank_info >> device_kind
при компиляции. Или ты имеешь в виду, что это не работает так, как ты этого хотел? Убедитесь, что вы включили<string>
!