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

Считывание из бинарного файла в массив_не работает! - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перевод с QBasic в С/С++ http://www.cyberforum.ru/cpp-beginners/thread238028.html
Есть программа для QBasic, она нужна в С/С++ RANDOMIZE TIMER CLS DIM k(5) k(1) = 0 k(2) = 0 К(3) = 0 k(4) = 0
C++ ПРОГРАММИРОВАНИЕ ФОРМУЛ Составить алгоритм и программу для вычисления значений функции для нескольких значений аргумента(ов) \формула дана в рисунке.\ Я составил программу, но почему-тоона не дает те результаы, которые нужны.А точнее если поставить значения x и y - то значение z - не такое.. В чем ошибка? #include<iostream.h> #include<iomanip.h> #include<math.h> #include<stdio.h> void main() { http://www.cyberforum.ru/cpp-beginners/thread237959.html
оператор delete[] C++
Применение delete (без ) к указателю на массив освобождает только нулевой элемент, а оставшиеся создают утечку памяти, но как объяснить этот код #include<iostream> using namespace std; int main(){ int *mas1=new int; // создаём массив mas1 из 5 элементов cout<<"\nmas1= \n"; for(int i=0; i<5; i++){ mas1=i; cout<<mas1<<" ";
boubble array C++
Всем доброго времени суток!Даны пять чисел:5 18 9 1 4.Кто-нибудь может показать,как выглядит: а)Сортировка выбором массива этих чисел. б)Пузырьковая сортировка массива этих чисел? Спасибо всем кто поможет!
C++ i++ и ++i http://www.cyberforum.ru/cpp-beginners/thread237914.html
В чем разница? Что обозначает ++i ?
C++ Графика Хочу работать с графикой в С++. С каким приложением лучше работать OpenGL или с каким-то другим приложением? подробнее

Показать сообщение отдельно
Валерьянка
 Аватар для Валерьянка
0 / 0 / 0
Регистрация: 03.02.2011
Сообщений: 3
04.02.2011, 11:13     Считывание из бинарного файла в массив_не работает!
у меня есть большая программа, где я работаю с бинарными файлами, содержащими список студентов...так вот, я создала бин файл со студентами-отличниками, а следующая функция должна выполнять сортировку этого файла по группам, а каждую группу по фамилиям в алфавитном порядке( используя стандартную функцию сортировки qsort). вся соль в считывании в массив структур из файла - не хочет =((( до этого всё правильно выполнялось....мот тут ошибка лежит на поверхности и я туплю..гляньте, пожалуйста... если что скину остальные данные

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
int cmp(const void* a, const void* b)
{
    TopS *pa=(TopS*)a;
    TopS *pb=(TopS*)b;
    if (pa->number==pb->number)
        return(strcmp(pa->surname, pb->surname));
    else
        return(pa->number-pb->number);
}
void Sort_top()
{
    ifstream  top1("top_students.txt", ios::binary);
    if(!top1)
    {
        cout<<"file is not open"<<endl;
        return;
    }
    long n, filesize;
    top1.seekg( 0, ios::end);
    filesize=top1.tellg();
    n=filesize/sizeof(TopS);
    TopS* S=new TopS [n];       
    for(int i=0; i<n; ++i)
    {
        top1.read((char*)&(S[i]), sizeof(S[0]));
        cout<<(S[i]).surname<<"\t"<<(S[i]).group<<"\t"<<(S[i]).number<<endl;
    }
    top1.close();
    qsort(S, n, sizeof(TopS), cmp);
    ofstream  top2("top_students.txt", ios::binary);
    cout<<"файл после сортировки"<<endl;
    for(int i=0; i<n; ++i)
    {
        top2.write((char*)&S[i], sizeof(TopS));
        cout<<(S[i]).surname<<"\t"<<(S[i]).group<<"\t"<<(S[i]).number<<endl;
    }
    delete[] S;
    top2.close();
 
}
вот структура:
C++
1
2
3
4
5
6
struct TopS
{
    char surname[20];
    int group;
    int number;
};
заранее спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru