задача проста, но не могу разобраться, мне нужно построчно считывать из файла.
bkkk book;
setlocale(LC_ALL, "rus");
ifstream lib("lib.txt");
int n;
lib>>n;
cout << n<< endl;
//
lib.getline(book.name, 50);
cout << book.name<<endl;
//
lib.getline(book.autor, 50);
cout << book.autor<<endl;
//
lib >>book.artcl;
cout << book.artcl<<endl;
//
lib >>book.cond;
cout << book.cond<<endl;
//
lib >>book.reit;
cout << book.reit<<endl;
//
выводит :
2
Эти свободные бабочки
0
-922093277
0
вместо :
2
Эти свободные бабочки
Герш
45788
1
5,5
как я понял, проблема в том, что lib>>
- не переводи на след строку. как это можно исправить?
После чтения типа
lib >>book.cond;
в буфере остается остаток строки (как минимум \n
). Убрать его можно (и нужно), вызывая после этого чтения сброс символов до конца строки, например:
lib.ignore(std::numeric_limits<std::streamsize>::max(),'\n');
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
//*не учитывая как осуществляется вызов 1 или 2 способ (результат тот же)