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

fread с непонятной ошибкой - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
deGeneral
5 / 5 / 1
Регистрация: 20.11.2012
Сообщений: 47
21.11.2012, 20:16     fread с непонятной ошибкой #1
Вот фрагмент кода, который вызывает ошибку:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    FILE *t = fopen("squares.db","r");                            
    if (!t) {
        char log[1024];
        sprintf(log, "Error opening squares.db", argv[1]);
        SetReady(log);      
        return 1;
    }
    town_square *town=NULL;                                    
    vector<TOWN_SQUARE> squares;                           
    while (fread(town,sizeof(town_square),1,t)==1) {
        squares.push_back(*town);                               
    }
    fclose(t);
В рантайме вылетает совершенно непонятная ошибка в файле "fread.c". Ругается на строку "(buffer !=NULL)", которой в моем коде и в помине нет. Очевидно, это что-то в fread.c не сработало. Но почему? Что я сделал неправильно?

Добавлено через 1 минуту
Вдогонку:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
typedef struct point_town
{
    float x, y;
    point_town(float _x = 0.0f, float _y = 0.0f) { x = _x, y = _y; }
    bool operator == (const point_town& p){return (this->x == p.x && this->y == p.y);}
    bool operator != (const point_town& p){return !((*this) == p);}
} POINT_TOWN;
 
typedef struct town_square
{
    point_town min,max;
    char file_name[32];
    town_square(point_town _min, point_town _max, char _file_name[32]) { min.x=_min.x; min.y=_min.y; max.x=_max.x; max.y=_max.y; 
      memset(_file_name,0,sizeof(file_name)*sizeof(file_name[0]));
}
} TOWN_SQUARE;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2012, 20:16     fread с непонятной ошибкой
Посмотрите здесь:

C++ fread
C++ Непонятки с fread
Плавятся мозги от непонятной задачи C++
C++ fseek / fread
C++ Функция fread и матрицы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
deGeneral
5 / 5 / 1
Регистрация: 20.11.2012
Сообщений: 47
23.11.2012, 20:47  [ТС]     fread с непонятной ошибкой #41
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
2
        strcpy(file_name, _file_name);
    }
Ругнулось на это. strcpy_s посоветовала юзать. Заменил - поехало.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2012, 20:57     fread с непонятной ошибкой
Еще ссылки по теме:

C++ Особенности работы fread
C++ Функции fread() и fwrite()
Поиск ошибки в fread C++

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.11.2012, 20:57     fread с непонятной ошибкой #42
Цитата Сообщение от deGeneral Посмотреть сообщение
Ругнулось на это
Не ошибка, но не безопасная, по мнению MS, функция. Можно не обращать внимания.
Yandex
Объявления
23.11.2012, 20:57     fread с непонятной ошибкой
Ответ Создать тему
Опции темы

Текущее время: 16:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru