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

Баг в 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
24.09.2009, 11:09  [ТС]
Переписал прогу с использованием класса fstream:

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
#include <fstream>
#include <iostream>
using namespace std;
 
const int N = 5000;
 
int main()
{
    double *array = new double[N];
    double *array2 = new double[N];
    
    for(int i = 0 ; i<N ; i++)
        array[i] = i;            
    
    fstream outfile("data1.dat", fstream::binary | fstream::out);
    outfile.write((char*)array , sizeof(double)*N);
    outfile.close();
    
    outfile.open("data1.dat", fstream::binary | fstream::in);   
    outfile.read((char*)array2 , sizeof(double)*N);
    outfile.close();
    
    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;
}
Вот теперь все работает. Остается непонятным факт, что при использовании fwrite и fread массивы не совпадают. Вроде это стандартные функции C которые должны работать на любых операционках и платформах.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru