чтение строки из файла и помещение ее в строку (с помощью fstream)

0

Я хочу прочитать файл и поместить каждую строку в строку (каждая строка содержит одно слово), я использовал 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();
  • 1
    «не удается скомпилировать» не очень полезное описание проблемы. Ваш компилятор предоставляет больше подробностей, чем это.
  • 0
    bank_info >> device_kind не должен bank_info >> device_kind при компиляции. Или ты имеешь в виду, что это не работает так, как ты этого хотел? Убедитесь, что вы включили <string> !
Теги:
file
fstream
getline

2 ответа

0

Посмотрите мой код на 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

0

use bank_info.geline(device_kind,size) getline является функцией-членом ifstream, поэтому используйте ее. оператор.

  • 0
    Также есть глобальная функция C ++ std::getline() , которую использует OP. Версия функции-члена, которую вы используете, предназначена для массивов в стиле C, эта строка кода не будет компилироваться.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню