Войти

Показать полную графическую версию : Структуры


svdanik
05-10-2010, 16:35
Добрый день
У меня такой вопрос - есть текстовый файл с таким сожержанием (слова разделены табом):

Львов Украина 03200
Донецк Украина 04566

Есть такая структура
struct data
{
char city[80];
char country[80];
int zip_code;
} dov[2];
Как мне считать данние з етово файла в масив струтур.

Admiral
05-10-2010, 16:56
bsvdanik вот тема Бинарные файлы (http://forum.oszone.net/thread-138194.html), несмотря на названия, обсуждали так же возможности сохраненя/чтения структур
struct row_t {
char id[8];
char name[100];
char description[255];
char _reserved_for_DOS_CR[2];
}; >> (http://forum.oszone.net/post-1100633.html#post1100633)
из/в текстовый файл.

pva
05-10-2010, 19:43
например так:

istream& operator>>(istream& is, data& d)
{
return is.getline(d.city, 80, '\t').getline(d.country, 80, '\t') >> d.zip_code;
}

cin >> dov[0] >> dov[1]

если строчки окажутся длинее 79 символов, они обрежутся, отрезанная часть будет интерпретироваться для следующией операции ввода. Например "До.. 75 символов ..нецк\tУкраина\t0000" прочитается как "До.. 75 символов ..не", "цк", а дальше ошибка, т.к. "Украина" не является числом.




© OSzone.net 2001-2012