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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нахождение суммы http://www.cyberforum.ru/cpp/thread52025.html
Помогите пожалуйста решить задачу. Даны натуральные числа N и M(N>M) вычислить: S=знак суммы(E),вверху N внизу k=M (k^2*ln(k!))
C++ Очень нужен Borland C++ 5.0, подскажите где найти можно? очень нужен Borland C++ 5.0, подскажите где найти можно, уже перелазил в гугле хрен знает сколько страниц http://www.cyberforum.ru/cpp/thread51825.html
C++ Несколько целей из одного набора исходников в графических средах
Имеется некий набор исходников, из которых собираются несколько разных программ. Программы собираются из пересекающегося множества исходников, но с различными опциями. В юниксе для этого используются Makefile'ы и приказы "make" с различными целями. Можно ли что-то подобное делать в графических оболочках (Borland Builder, MSVS)? Например, есть файлы t1.c t2.c t3.c из которых собираются...
Реализация операторов new и delete C++
правильно ли я понимаю, что при вызове classname *x = new classanme; и реализации оператора, new, скажем void * __cdecl operator new (unsigned int size) { return __opeation_that_allocates_size_bytes_of_memory(size); } конструктор класса classname будет вызван автоматически, а при написании скажем, такого кода, classname * x = (classname*)...
C++ помощь(консультация) в написании прогр.на Си-текст.редактор http://www.cyberforum.ru/cpp/thread51489.html
Тут вот задали написать текстовой редактор на си,выдана программа-заготовка,она по идее якобы тот же текст.ред.но урезанный,в общем беру эту прогу,пытаюсь компилировать,но -куча ошибок(чего в принципе быть не должно), начинаю смотреть вид ошибок,понимаю что не подключены нек.библиотеки #include,кое-что узнаю,вношу,но остается все таки еще- c:14: предупреждение: инициализация из...
C++ Builder Что писать в builder вместо void mainprog()? Есть книжка по Borland C 5, в которой есть код #include "franca.h" athlete Sal void mainprog() { Sal.ready(); Sal.say("Hi!"); } подробнее

Показать сообщение отдельно
odip
Эксперт C++
 Аватар для odip
7226 / 3288 / 59
Регистрация: 17.06.2009
Сообщений: 14,165
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;
}
 
Текущее время: 07:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru