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

Функция, которая меняет строку в бинарном файле - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Системы счисления и Перестановки http://www.cyberforum.ru/cpp-beginners/thread113779.html
Системы счисления Во входном файле input.txt в первой строке через пробел записаны некоторое (возможно, дробное) число в системе счисления от 2 до 16, основание системы счисления, в которой записано...
C++ Перегрузка оператора == Пытаюсь перегрузить оператор == . Делаю так: В классе: class cData // класс дата { int year; // год short mounth; // месяц short day; // день static int amount; // количество... http://www.cyberforum.ru/cpp-beginners/thread113777.html
Записать каждое десятичное число в виде целой десятичной, восьмеричной и шестнадцатеричной константы C++
записать каждое десятичное число в виде целой десятичной, восьмеричной и шестнадцатиричной константы: 35 163 249 89
Строки: вывод кода введенного пользователем символа C++
Написать программу, которая выводит код введенного пользователем символа. Программа должна завершать работу в результате ввода, например, точки.
C++ проверка двоичного числа http://www.cyberforum.ru/cpp-beginners/thread113742.html
написать программу которая проверяет является ли введенная с клавы строка двоичным числом
C++ Циклы с пред. и пост. условием 1 - Составьте программу, суммирующую штрафное время команд при игре в хоккей. Выводить на экран суммарное штрафное время обеих команд после любого его изменения. После окончания игры выдать итоговое... подробнее

Показать сообщение отдельно
I-am-forever
1 / 1 / 0
Регистрация: 03.12.2009
Сообщений: 6

Функция, которая меняет строку в бинарном файле - C++

07.04.2010, 12:43. Просмотров 423. Ответов 0
Метки (Все метки)

Есть бинарный файл с информацией про олимпийские игры.
И должна быть функция, изменения этой информации по желанию пользователя.

все выполняется, но информация не меняется!
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
int changeBD(Olymp a,char *path,Olymp o)
{
    int z=0;    
    FILE *fop;
    if((fop=fopen(path,"ab+"))==NULL)
        return 0;
    rewind (fop);
    Olymp s;
 
    while(!feof(fop))
    {
        fread(&s,sizeof(Olymp),1,fop);
        if(!feof(fop))
        {
            if(strcmp(a.country,s.country)==0 && strcmp(a.season,s.season)==0 && strcmp(a.sport,s.sport)==0 && a.kol_vo==s.kol_vo && a.prize[0]==s.prize[0] && a.prize[1]==s.prize[1] && a.prize[2]==s.prize[2] && a.year==s.year)
            {
                printf("It works!\n");
                z=1;
                fwrite(&o,sizeof(Olymp),1,fop);
            }
        }
    }
 
    if(fop!=0)
        fclose(fop);
    if(z==1)
        return 1;
    else
        return -1;
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru