Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
TheKnyazz
10 / 10 / 1
Регистрация: 27.04.2009
Сообщений: 30
#1

Считывание из фаила - C++

30.10.2009, 21:38. Просмотров 538. Ответов 0
Метки нет (Все метки)

В общем у меня есть текстовый файл и табличкой внутри и данными примерно вот такого содеражания.
C++
1
2
3
4
5
6
7
8
9
ЙННННЛНННННННННННННННННННННННЛННННЛНННЛНННННННННННЛННННЛННННЛННННЛННННЛНННННН»
єtab є                       єBirtє   є           єworkєworkєN   єN   є      є
єnumbє       FIO             єDateєSEXєProfession єAge єlev єcehaєsec-єsummerє
є    є                       є    є   є           є    є    є    єtoraєy     є
МННННОНННННННННННННННННННННННОННННОНННОНННННННННННОННННОННННОННННОННННОНННННН№
?1   ?blablab                ?1991? m ?Progr      ?1   ?1   ?1   ?1   ?1111  ?
МННННОНННННННННННННННННННННННОННННОНННОНННННННННННОННННОННННОННННОННННОНННННН№
?2   ?Green                  ?1991? m ?progr      ?3   ?3   ?3   ?3   ?3     ?
ИННННКНННННННННННННННННННННННКННННКНННКНННННННННННКННННКННННКННННКННННКННННННј
Мне нужно считать отсюда данные и загнать их в динамическую струтуру а-ля двунаправленный список.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
void LoadFile(myList* & FIRST,myList* &LAST){//чтение входной таблицы из файла
    workList z;//статическая переменая
    char *exr; exr=new char[6];
    zeroz(z,exr);
    ifstream file;//класс чтения из файла
    char *s=path();//вызов функции для указания пути
 if (s==NULL) return ;
    s=strcat(s,"data.txt");
    file.open(s,ios::in);//открытие файла
 
    if (!file) {errormessage("ERROR:cannot read file");
                  return;
               }
    file.seekg(401,ios::beg);
while(!(file.eof())){
    file.seekg(3,ios::cur);
    file.read(exr,3);z.tabNum = atoi(exr);
 
    //чтение табельного номера
    file.seekg(3,ios::cur);file.read(z.Fio,23);    //чтение ФИО
    file.seekg(1,ios::cur);file.read(exr,4);
 
    //чтение года рождения
    z.age=atoi(exr);strcpy(exr,"     \0");
    file.seekg(2,ios::cur);file.read(exr,1);
 
    //чтение пола рабочего
    if (exr[0]=='М'||exr[0]=='m') z.gender=true;
        else z.gender=false;
    strcpy(exr,"     \0");
    file.seekg(2,ios::cur); file.read(z.prof,11);    //чтение профессии
    file.seekg(1,ios::cur); file.read(exr,4);
 
    //чтение стажа
    z.work_age=atoi(exr);   strcpy(exr,"     \0");
    file.seekg(1,ios::cur); file.read(exr,4);
 
    //чтение разряда
    z.work_level=atoi(exr); strcpy(exr,"     \0");
    file.seekg(1,ios::cur); file.read(exr,4);
 
    //чтение цеха
    z.num_ceh=atoi(exr);    strcpy(exr,"     \0");
    file.seekg(1,ios::cur); file.read(exr,4);
 
    //чтение участка
    z.num_sector=atoi(exr);strcpy(exr,"     \0");
    file.seekg(1,ios::cur);file.read(exr,6);
 
    //чтение оклада
    z.summery=atoi(exr);strcpy(exr,"     \0");
 
      myList *curr=new myList;
      curr->data=z;
      curr->back=LAST;
      curr->forward=NULL;
      if (FIRST==NULL){
                FIRST=LAST=curr;
                FIRST->back=NULL;
               }
      else {
            LAST->forward=curr;
            LAST=curr;
            }
 
    zeroz(z,exr);
    file.seekg(81,ios::cur);
    }
    file.close();//закрытие файла
    delete []exr;
    return;
}
Функцией примерно такого содержания я считываю.

чтоб не было лишних вопросов че я делаю в Zeroz
C++
1
2
3
4
5
6
7
8
void zeroz(workList &z,char *str)
{
strcpy(str,"     \0");
strcpy(z.Fio,"                       \0");
strcpy(z.prof,"          \0");
z.tabNum=z.age=0;z.gender=0;
z.work_age=z.work_level=z.summery=z.num_ceh=z.num_sector=0;
}
Я понимаю, что у меня проблема в самом условии цикла While, но не пойму как сделать по другому( Точнее условие то правильное - читать до конца файла. Но в самом функции я не пойму, что необходимо сделать, что проверка в цикле происходила.

Добавлено через 1 час 10 минут
Подскажите пожалуйста) ибо чего-то туплю ужасно)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2009, 21:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Считывание из фаила (C++):

удаление записи с фаила - C++
подскажитэ пожайлуста каким образом можна удалить запись из файла, например есть текстовый фаил внем скажем скажем 5 записей(в даном...

Копированияе из фаила в фаил - C++
Дорогие ребята помогите девушке) никак не могу разобраться с программой, а сроки поджимают) вот собственно программа Дан текстовой файл...

Удалить комментарии из фаила - C++
Здравствуйте. Есть вот такие фаилы: # 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware # File Created: 07.12.2014...

Вывод картинки из фаила - C++
Помогите пожалуйста вывести картинку из фаила. Использовать токлько окно BGI пишу на def-cpp какие функции для этого нужны?

матрица и ее ввод\вывод из фаила - C++
Доброго дня ув. форумчане. Пожалуйста помогите исправить программу, делал в Visual Studio 2006, вылазит множество ошибок, я никак не могу...

Вывод данных из текстового фаила - C++
Прога работает, да не совсем. Почему-то не передает из фаила описание деталей. Прошу помочь разобраться. #include <conio.h> ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2009, 21:38
Привет! Вот еще темы с ответами:

структура бмп-фаила. Не могу разобраться - C++
Здравствуйте! Пытаюсь разобраться с форматом BMP, но возникла одна "непонятка". Заголовок BMP файла составляет 14 байт, в последних...

Задать элементы класса данными из фаила - C++
хочется взять данные из фаила и присвоить их элементам класса, но выдает ошибки. #include "iostream" #include "fstream" using...

Не получается считать информацию из фаила (описать структуру с именем MARSH) - C++
Не получается считать информацию из файла. Все остальные действия программы кроме считывания информации из файла работают нормально. ...

Заменить считывание с клавиатуры на считывание из файла - C++
Помогите пожалуйста, ни разу не работал со считыванием из файла поэтому не понимаю как и что делать. Почитал в интернете, попробовал, не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru