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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Очень нужен Borland C++ 5.0, подскажите где найти можно? http://www.cyberforum.ru/cpp/thread51825.html
очень нужен Borland C++ 5.0, подскажите где найти можно, уже перелазил в гугле хрен знает сколько страниц
C++ Несколько целей из одного набора исходников в графических средах Имеется некий набор исходников, из которых собираются несколько разных программ. Программы собираются из пересекающегося множества исходников, но с различными опциями. В юниксе для этого используются... http://www.cyberforum.ru/cpp/thread51816.html
помощь(консультация) в написании прогр.на Си-текст.редактор C++
Тут вот задали написать текстовой редактор на си,выдана программа-заготовка,она по идее якобы тот же текст.ред.но урезанный,в общем беру эту прогу,пытаюсь компилировать,но -куча ошибок(чего в...
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. Во время запуска приложения при компиляции или при запуске какого - либо... подробнее

Показать сообщение отдельно
Alchem
0 / 0 / 0
Регистрация: 23.09.2009
Сообщений: 10

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

23.09.2009, 15:58. Просмотров 1678. Ответов 4
Метки (Все метки)

Ну собственно вот простой тестовый код который выполняется некорректно:

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
#include <cstdio>
using namespace std;
 
const int N = 2500;
 
int main()
{
    int *array = new int[N];
    for(int i = 0 ; i<N ; i++)
        array[i] = i;
    
    FILE *pfile;
    pfile = fopen("data1.dat", "w");
    fwrite(array , sizeof(int) , N ,pfile);
    fclose(pfile);
    
    pfile = fopen("data1.dat","r");
    int *array2 = new int[N];
    fread(array2 , sizeof(int) , N ,pfile);
    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;
}
Массив забиваем числами, записываем в файл, читаем содержимое файла в другой массив, потом сравниваем массивы и они не совпадают. Если поставить размер массива поменьше, скажем 1000 , то все работает нормально. Под линуксом все выполняется нормально, проблемы возникают только в mingw.

mingw из бинарников следующих версий:
binutils-2.19.1-mingw32-bin
gcc-c++-4.4.0-mingw32-bin
gcc-core-4.4.0-mingw32-bin
gmp-4.2.4-mingw32-dll
make-3.81-20090914-mingw32-bin
mingwrt-3.16-mingw32-dev
mingwrt-3.16-mingw32-dll
mpfr-2.4.1-mingw32-dll
w32api-3.13-mingw32-dev

Подскажите, это косяк mingw или я гдето туплю?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.