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

Что за ошибка?? (Работа с бинарными файлами) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как узнать количество записей структуры в файле? http://www.cyberforum.ru/cpp-beginners/thread117398.html
Помогите пожалуйста с вопросом: Как узнать количество записей структуры в файле?Желательно функцией,чтобы возвращала количество записей
C++ односвязные списки Доброго времени суток, товарищи! помогите кто чем может. Нужно было написать класс для работы со связными списками. Все написала, все работает. Одно но! все работает через "меню". и ввод элемента осуществляется отдельно - нажал на 1 - ввел элемент, и так до тех пор пока не понадобится сделать другой пункт. Так вот. хотелось бы чтобы вводилась полностью фраза. не подскажете ли .как нужно код... http://www.cyberforum.ru/cpp-beginners/thread117393.html
C++ помогите решить
Написать и протестировать программу STREND (str 1,str 2) которая возвращает 1,если строка str 1 расположена в конце строки str 2 ,и 0-в противном случае..
C++ Eclipse + MinGW - не компилируют
Здравствуйте. Пытаюсь тут с NetBeans + MinGW переползти на Eclipse + MinGW. При попытке скомпилить любую программу выдаёт: /mingw/lib/libmingw32.a(main.o):main.c:(.text+0xd2): undefined reference to `WinMain@16' Даже не знаю в какую сторону копать... Подскажите плз
C++ Операторы for , do while http://www.cyberforum.ru/cpp-beginners/thread117336.html
Помогите, пожалуйста сделать 2 задачки: 1.Напишите программу, которая выводит на экран квадрат Пифагора - таблицу умножения. 1 2 3 4 5 6 7 8 9 10 1 1 2 3 4 5 6 7... 2 3 4 5 6 7
C++ Массив. Макс и мин элемент.Шаблоны и функции. Само задание вот: Найти max(a2,a4,...a(2k)+min(a1,a3,...a(2k+1). Короче, вроде бы найти макс и мин эл-т. Нужно сделать через шаблоны и функции. Помогите исправить: #include<iostream.h> #include<iomanip.h> #include<math.h> #include<conio.h> #define n 10 подробнее

Показать сообщение отдельно
Alex5
1039 / 702 / 102
Регистрация: 12.04.2010
Сообщений: 1,768
16.04.2010, 01:41     Что за ошибка?? (Работа с бинарными файлами)
C++
1
2
3
// Не следует так делать
                        f3.write((char *)&v1[i].fio, sizeof(string));
                f4.read( (char*)&temp.fio, sizeof(temp.fio));
Нам неизвестна заранее длина строки. А Вы записываете 16 байт. Потом читаете 16 байт.

C++
1
2
3
4
5
6
7
8
9
    f3.write((char *)v1[i].fio.c_str(), v1[i].fio.length()+1  );
    // ...length() плюс 1,  чтобы '\0' тоже был записан в файл
    //  Чтобы при чтении из файла можно было определить, где кончается строка.
 
    // How to read  from  file  to string ?
    char buf[1000] = {0};
    f4.getline( buf, sizeof(buf), '\0' ); // читать, пока не встретится  '\0'
    // f4 >>  temp.fio; // так будет прочитано только одно слово
    temp.fio =  buf;
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru