E
eugira
Есть потоковое чтение из текстового файла в строковую переменную типа char[n].
Вопрос читаться будет ровно n символов или до 1-го пробела?
Более конкретно есть текстовый файл с 2 записями
RS728 INTEL Celeron G530 4096 500 9990
RS729 INTEL Celeron G540 4096 1000 11120
структура
и код, написанный правда в QT
Проверено, что вместо чтения из 1 строки файла w->Pr="INTEL Celeron G530" фактически читается
w->Pr="INTEL" Дальше идет смещение. Это всегда так при потоковом чтении? Как исправить?
Вопрос читаться будет ровно n символов или до 1-го пробела?
Более конкретно есть текстовый файл с 2 записями
RS728 INTEL Celeron G530 4096 500 9990
RS729 INTEL Celeron G540 4096 1000 11120
структура
Код:
struct TComp {
char Marka[15];
char Pr[20];
int Vop;//объем ОП
int Vgd;//объем ЖД
int Price; //цена
TComp *next;
};
Код:
bool ListComp::ReadFile(char * fln)
{//чтение из файла
QFile f(fln); TComp *w=new TComp;
if(!f.exists()) return false;
f.open(QIODevice::ReadOnly);
QTextStream in(&f);
while (!in.atEnd())
{
in>>w->Marka; in>>w->Pr; in>> w->Vop; in>> w->Vgd; in>> w->Price;
std::cout << w->Marka <<","<< w->Pr<<","<< w->Vop << '\n';
Add(w);
}
f.close();
return true;
}
w->Pr="INTEL" Дальше идет смещение. Это всегда так при потоковом чтении? Как исправить?