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

Чтение структуры из файла и запись нового - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Helo World на программе CodeBlocks http://www.cyberforum.ru/cpp-beginners/thread113441.html
Привет. Кодеблокс - свободная среда разработки, поэтому охота с ней поковыряться. Я начинающий, пришел за помощью в практической части. Итак.. запускаем :) Жмём как я понял file - new - project,...
C++ Цикл - сдвиг строки в право Неправильно выполняется программы, нужно чтобы строка сдвигалась на один символ в право. Проверьте пожалуйста цикл на правильность. //Row.h class Row { protected: char *Str; public: ... http://www.cyberforum.ru/cpp-beginners/thread113434.html
Написать и протестировать функцию C++
Задача 49 Написать и протестировать функцию, которая по заданному натуральному числу определяет его первую и последнюю цифры.
C++ Написать и протестировать функцию
Задача 49 Написать и протестировать функцию, которая по заданному натуральному числу определяет его первую и последнюю цифры. Задача 50 Написать и протестировать функцию, которая по натуральному...
C++ Сдвиг строки вправо http://www.cyberforum.ru/cpp-beginners/thread113423.html
Нужно написать программу по наследованию которая измеряет длину строки и сдвигает строку в право на один символ. Программа выдает следующую ошибку: variant 11 nasledovanie.cpp d:\мои...
C++ Зависание на деструкторе. Всем доброго времени суток! Проблема такая: есть класс cData в нём статический член staric int amount, при вызове конструктора увеличиваем amount на 1, в деструкторе уменьшаем на 1, получается что... подробнее

Показать сообщение отдельно
accept
4825 / 3246 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
13.04.2010, 07:41
Цитата Сообщение от artem0n2
компилятору не нравится =( почему используется int cmpfunc для сортировки, если name у меня char?
а ты stdlib.h подключил ? я забыл написать
в кратце, qsort() выполняет сортировку, она может сортировать что угодно, так как является функцией общего назначения; чтобы отсортировать структуры, нам нужно подать в qsort() массив структур и функцию, с помощью которой qsort() сможет определять, какие структуры менять местами, а какие оставлять; вот cmpfunc() - как раз такая функция, она заходит в обе структуры и сравнивает имена в них (имена она сравнивает с помощью strcmp() из string.h)
допустим, если бы у тебя был массив имён, мы могли бы применить qsort(массив_имён, количество_имён, размер_одного_имени, strcmp); потому что здесь нет массива структур и нам не нужно заходить в структуры, чтобы сравнить имена, но и переставлять нам бы пришлось только имена (со структурами же переставляются структуры, то есть и имена, и всё остальное)

Добавлено через 16 минут
Цитата Сообщение от artem0n2
сортирует, пишет в файл, но с ошибками. Иногда правильно
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
while(!feof(base))
        {
 
                fgets (buf, 100, base);
                strcpy (info[i].name, buf);
 
                fgets (buf, 50, base);
                strcpy (info[i].rabota.AS, buf);
 
                fgets (buf, 50, base);
                strcpy (info[i].rabota.Tel, buf);
                
                fgets (buf, 50, base);
                strcpy (probel, buf); // это чтобы записывать в блокноте людей через одну пустую строку.   
                i++;
        }
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    char buf[1000], *bufptr;
    int retval;
 
    while ((bufptr = fgets(buf, sizeof buf, base)) != NULL) {
        
        retval = sscanf(
            bufptr,
            "%99[^\n]%49[^\n]%49[^\n]",
            info[i].name, info[i].rabota.AS, info[i].rabota.Tel
        );
 
        if (retval != 3) {
            fprintf(stderr, "error: read data" "\n");
            return 1;
        }
 
        /* здесь можно вывести данные */
 
        i++;
 
    }
про пробел неясно
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru