Форум программистов, компьютерный форум CyberForum.ru

Баг в MinGW при использовании fread - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Очень нужен Borland C++ 5.0, подскажите где найти можно? http://www.cyberforum.ru/cpp/thread51825.html
очень нужен Borland C++ 5.0, подскажите где найти можно, уже перелазил в гугле хрен знает сколько страниц
C++ Несколько целей из одного набора исходников в графических средах Имеется некий набор исходников, из которых собираются несколько разных программ. Программы собираются из пересекающегося множества исходников, но с различными опциями. В юниксе для этого используются Makefile'ы и приказы "make" с различными целями. Можно ли что-то подобное делать в графических оболочках (Borland Builder, MSVS)? Например, есть файлы t1.c t2.c t3.c из которых собираются... http://www.cyberforum.ru/cpp/thread51816.html
помощь(консультация) в написании прогр.на Си-текст.редактор C++
Тут вот задали написать текстовой редактор на си,выдана программа-заготовка,она по идее якобы тот же текст.ред.но урезанный,в общем беру эту прогу,пытаюсь компилировать,но -куча ошибок(чего в принципе быть не должно), начинаю смотреть вид ошибок,понимаю что не подключены нек.библиотеки #include,кое-что узнаю,вношу,но остается все таки еще- c:14: предупреждение: инициализация из...
C++ Код для Borland C запуститься на Builder?
У меня есть книжка по Borland C++ 5. Запустятся ли исходники, в ней приведенные, на С++ Builder 6?
C++ Готов ли я к изучению С++? http://www.cyberforum.ru/cpp/thread51250.html
Говорят, что перед тем, как изучать С++, надо получить представление о С. Я С не изучал, зато немного знаю PHP. Как считаете, мне хватит этих знаний, или следует для начала изучить С?
C++ Проблема с VS Привет, поставил себе Visual Studio 2005 релиз, все до этого работало нормально. Сам я работаю в среде БлудШед Dev Cpp. Во время запуска приложения при компиляции или при запуске какого - либо приложения, выскакивает дебагер, который порядком надоел - ниже скриншот. http://i021.***********/0909/e4/bba35e8bb26c.bmp подскажите как его убрать... подробнее

Показать сообщение отдельно
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
24.09.2009, 19:33     Баг в MinGW при использовании fread
1) Нужно проверять на наличие ошибки во всех функция которые могут вернуть ошибку !
2) Ты забыл что файл нужно открывать в binary mode.
Вот тебе на 1000000 элементов - все работает.
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
#include <cstdio>
#include <stdlib.h>
 
using namespace std;
 
const int N = 1000000;
 
int main()
{
        int retcode;
    
        int *array = new int[N];
        for(int i = 0 ; i<N ; i++)
                array[i] = i;
        
        FILE *pfile;
        pfile = fopen("data1.dat", "wb");
        if ( pfile == NULL ) {
            fprintf( stderr, "err open1\n" );
            exit( 1 );
        }
        retcode= fwrite(array , sizeof(int) , N ,pfile);
        printf( "retcode=%d\n", retcode );
        if ( retcode != N ) {
            fprintf( stderr, "err read1\n" );
            exit( 1 );
        }
        fclose(pfile);
        
        pfile = fopen("data1.dat","rb");
        if ( pfile == NULL ) {
            fprintf( stderr, "err open2\n" );
            exit( 1 );
        }
        int *array2 = new int[N];
        retcode= fread(array2 , sizeof(int) , N ,pfile);
        printf( "retcode=%d\n", retcode );
        if ( retcode != N ) {
            fprintf( stderr, "err read2\n" );
            exit( 1 );
        }
        fclose(pfile);
        
        bool readError = false;
        for(int i = 0 ; i<N ; i++)
        {
                if(array[i] != array2[i]) readError = true;
        }
        if(readError) 
                printf("error");
        else 
                printf("all right");
        delete [] array;
        delete [] array2;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru