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

Динамические поля и запись в бинарный файл - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести таблицу стоимости товара http://www.cyberforum.ru/cpp-beginners/thread1582483.html
Нужно решить задачу тремя способами: используя операторы цикла while, do while и for. На С++ Вывести на экран таблицу (именно таблицей) стоимость для 10,20,30,...,100 штук товара, при условии, что одна штука товара стоит х рублей (значение х вводится с клавиатуры).
C++ Можно ли создать вектор динамических массивов? В больном воображении созрел такой код char**mass = new char*(); //vector<char*>mass; int i = 0; for (char*ptr = strtok(buf, " \r\n"); ptr; ptr = strtok(NULL, " \n")) { mass = new char(); strcpy(mass, ptr); cout << mass << endl; i++; http://www.cyberforum.ru/cpp-beginners/thread1582474.html
Определить количество предложений в строке C++
Задание:Определить в строке количество предложений. Если предложений более одного, копировать второе предложение в отдельную строку и вывести ее содержимое на экран. В новой строке первое слова поставить последним. Начал писать программу: #include<iostream.h> #include<string.h> int main() { int i,k=0; char s1="O Da!",s2="Ura!",s3="a";
C++ В массиве целых чисел найти сумму наибольшего количества чисел, произведение которых меньше заданного
ребята помогите исправить код В массиве X целых чисел найти сумму наибольшего количества чисел, произведение которых меньше M (ввести с клавиатуры). #include <iostream> using namespace std; int main() { int a = {1,1,2,5,1,4,7,3}; auto f = (int m) -> int {
C++ Заполнение структуры данных с использованием вектора. Использование объектов класса http://www.cyberforum.ru/cpp-beginners/thread1582448.html
VS2015, Win32. Заполнение структуры Info (вектора InfoCert) класса DataBase в методе (addCert) другого класса(AddList). То есть заполнения вектор "объектАМИ" (Info obj; -объект структуры), имеющие свойства pszName и SerialNumber, для дальнейшего использования свойств в других классах. Вопрос: 1) Как использовать указатель в данной программе для заполнения вектора и нужно ли очищать память? 2)...
C++ Сортировка одномерного массива #include<iostream.h> #include <time.h> int main () { const int n=23; int T,i,m,k,temp; srand((unsigned)time(NULL)); for (i=0;i<n;i++) { T=(rand()%100); cout<<T<<" "; подробнее

Показать сообщение отдельно
Melany
21 / 4 / 0
Регистрация: 05.07.2015
Сообщений: 125
16.11.2015, 10:36     Динамические поля и запись в бинарный файл
Подскажите пожалуйста, почему при структуре, в которой есть динамические char массивы, при записи инф в бинарный файл, а потом при считывании возникает ошибка
C++
1
2
3
4
5
        template<class _Traits> inline
    basic_ostream<char, _Traits>& operator<<(
        basic_ostream<char, _Traits>& _Ostr,
        const char *_Val)
    {   // insert NTBS into char stream
Возможно есть какие-то ограничения для бинарных файлов, я ничего не могу понять,
Потому как со статическими массивами никаких проблем не возникает,

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
struct Name
{
    char* first_name;
    char* last_name;
{
        first_name=new char[20];
        last_name=new char[20];
    }
    ~Name()
    {
        delete []first_name;
        delete []last_name;
    }
}
int main()
{
        Name name;
    strcpy(name.first_name,"V");
    strcpy(name.last_name,"K");
        FILE *f;
        fopen_s(&f, "F.txt", "wb+");
        fwrite(&name, sizeof(Name),1 ,f);
        fclose(f);
 
        fopen_s(&f, "F.txt", "rb+");
        size_t result=fread(&name, sizeof(Name), 1,f);
        if (result != 1)
        {
            cout<<"Error";
            exit (3);
        }
         cout<<name.last_name<<" "<<name.first_name<<endl;
}
Вот именно на последнем этапе происходит вышеописанная ошибка,
Заранее спасибо за ответ,
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru