0 / 0 / 0
Регистрация: 08.04.2008
Сообщений: 132
1

Почему при чтении бинарного файла происходит экстренное завершение программы?

15.02.2012, 08:32. Показов 1744. Ответов 2
Метки нет (Все метки)

в Windows XP при чтение бинарного файла происходит екстренное завершение программы !!!
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
73
74
75
/*Writing to a random access file */
  #include <stdio.h>           
   struct clientData {                              
      int acctNum;          /* account number */    
      char lastName[ 15 ];  /* account last name */ 
      char firstName[ 10 ]; /* account first name */
      double balance;       /* account balance */   
   }; /* end structure clientData */                    
   int main() 
   { 
   FILE *cfPtr; /* credit.dat file pointer */
     struct clientData client = { 0, "", "", 0.0 };
     /* fopen opens the file; exits if file cannot be opened */
      if ( ( cfPtr = fopen( "credit.dat", "wb+" ) ) == NULL ) {
         printf( "File could not be opened.
" );
      } /* end if */
      else { 
         /* require user to specify account number */
         printf( "Enter account number"
                 " ( 1 to 100, 0 to end input )
? " );
         scanf( "%d", &client.acctNum );
   
         /* user enters information, which is copied into file */
         while ( client.acctNum != 0 ) { 
   
            /* user enters last name, first name and balance */
            printf( "Enter lastname, firstname, balance
? " );          
           /* set record lastName, firstName and balance value */
           fscanf( stdin, "%s%s%lf", client.lastName, client.firstName, &client.balance );
   
            /* seek position in file of user-specified record */
            fseek( cfPtr, ( client.acctNum - 1 ) * sizeof( struct clientData ), SEEK_SET );     
   
            /* write user-specified information in file */           
            fwrite( &client, sizeof( struct clientData ), 1, cfPtr );
   
            /* enable user to specify another account number */
            printf( "Enter account number
? " );
            scanf( "%d", &client.acctNum );
         } /* end while */
   
         fclose( cfPtr ); /* fclose closes the file */
      } /* end else */ 
     if ( ( cfPtr = fopen( "credit.dat", "rb" ) ) == NULL ) {
        printf( "File could not be opened.
" );
 
     } /* end if */
      else { 
       printf( "%-6s%-16s%-11s%10s
", "Acct", "Last Name" "First Name", "Balance" );
 
         /* read all records from file (until eof) */
         while ( !feof( cfPtr ) ) { 
            fread( &client, sizeof( struct clientData ), 1, cfPtr );
   
            /* display record */
            if ( client.acctNum != 0 ) {
               printf( "%-6d%-16s%-11s%10.2f
", 
                       client.acctNum, client.lastName, 
                       client.firstName, client.balance );
            } /* end if */
   
         } /* end while */
   
         fclose( cfPtr ); /* fclose closes the file */
      } /* end else */
      return 0; /* indicates successful termination */
   
   } /* end main */
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.02.2012, 08:32
Ответы с готовыми решениями:

Происходит экстренное завершение приложения без каких-либо ошибок
Привет всем. В общем такая проблема. Написал я прогу и начал с ней работать. Запускаю прямо...

"Нарушение прав доступа при чтении по адресу" при чтении структур из бинарного файла
Пытаюсь разобраться со структурами в бинарных файлах. Допустим, есть массив структур. Записываю...

Вылет при чтении из бинарного файла
Уважаемые товарищи, пожалуйста, помогите понять почему приведённые ниже функции, записывающие или...

Ошибка при чтении бинарного файла
пытаюсь прочитать 63мб бинарного файла и заполнить структуру к примеру вот std::fstream...

2
1 / 1 / 0
Регистрация: 30.03.2011
Сообщений: 48
15.02.2012, 21:06 2
Ты опиши что твоя прога делает!
И как, то есть алгоритм работы!
В какой момент экстренное завершение?
И главное пришли этот файл credit.dat
0
0 / 0 / 0
Регистрация: 08.04.2008
Сообщений: 132
16.02.2012, 14:03  [ТС] 3
Значит при запуске программа сама создает етот файл, и указав номера аккаунтов можете вводить данные клиентов а при нажатии 0 вмето номера аккаунта программа закрывает файл и сразуже читет его и вот тут возникает ошибка.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.02.2012, 14:03
Помогаю со студенческими работами здесь

Ошибка при чтении бинарного файла
почему у меня выводит два раза последнюю запись при чтении??(а файл записываю класс с 3...

Происходит зацикливание при чтении файла
Доброго времени суток! Ниже находится код, который посимвольно читает файл, и записывает в другой...

Нечастые крякозябры при чтении из бинарного файла
Вообщем читаю строки с бинарника и вылазит строки например жирафа(верхнее)@ тигр(нижнеее)@...

Добавляется 0 при чтении содержимого бинарного файла
100500 лет не делал, однако Sub PutContents() Dim fileInt As Integer: fileInt = FreeFile Dim i...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru