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

Чтение структуры из файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Запись в файл http://www.cyberforum.ru/cpp-beginners/thread1108152.html
Здравствуйте, задача такова: Считать с трех файлов в бинарном виде и записать их в бинарном файле в 1 файл. Каждый файл это vector в котором string порядок байтов, то есть vector<string>. Возможен ли такой способ и почему файлы не записываются? Помогите пожалуйста... void Pack::read_from_file() // Считывание с файлов { char tmp; string str; ifstream file_fread; for(int i = 0; i <...
C++ Создать двумерный массив в СИ++ в виде календаря 1 Создать двумерный массив. 1.1 Массив должен представлять собой календарь на сезон года (3 месяца) . 2 Сделать функцию, реализующую вывод на печать выбранного месяца (из трех) : 2.1 Должны выводиться дни недели (Пн-Пт) , числа. 3. Сделать функцию вывода выходных и рабочих дней. 3.1 Вывод должен представлять собой массив; 3.1.1 При вызове функции рабочих или выходных дней, программа... http://www.cyberforum.ru/cpp-beginners/thread1108150.html
Определить сумму элементов в тех столбцах матрицы, которые содержат хотя бы один отрицательный элемент C++
Для целочисленного двумерного массива ( массивность массива задается пользователем), разработать функцию, которая определяет сумму элементов в тех столбцах , которые содержат хотя бы один отрицательный элемент.
C++ Неправильный выход
#include "stdafx.h" #include "C_StringHex.h" #include <iostream> #include <string.h> #include "C_StringBit.h" using namespace std; C_StringHex::C_StringHex(void) { }
C++ Найдите номер минимального по модулю элемента массива http://www.cyberforum.ru/cpp-beginners/thread1108123.html
В одномерном массиве состоящем из n вещественных элементов (размерность массива задается пользователем), найдите номер минимального по модулю элемента массива. При разработке кода для перебора элементов массива использовать не индекс массива, а указатель на элемент массива. Вычисления должны выполняться в отдельной функции.
C++ Инициализация указателей Объявите указатели на следующие объекты: unsigned, char, double, int - проинициализируйте их, выведите их значения на экран. Запишите по данным адресам конкретные значения. Выведите на экран значения, хранящиеся по данным адресам. подробнее

Показать сообщение отдельно
Super GT
4 / 4 / 0
Регистрация: 23.12.2012
Сообщений: 131
09.03.2014, 14:18  [ТС]     Чтение структуры из файла
alsav22,
C++
1
2
3
4
5
6
7
8
9
10
double val;
    while (fin >> val) // что означает это условие?
    {
        if (fin.peek() != '\n' && fin.peek() != EOF) 
        {
            com.Re = val; // непонятно, каким образом Re получает значение val, которая до этого даже инициализирована не была?
            fin.get(); // что здесь происходит? Считывается и пропускается след. после Re символ?
            fin >> com.Im; // непонятна запись. Ясно, что в переменную Im структуры записывается значение из файла, но неясно, как выбирается нужное.
            vstr.push_back(com); 
        }
И здесь:
C++
1
2
3
4
for (int i = 0; i < size; ++i) // заполнение полей свободного члена структур в строке
                vstr[i].FreeSign = val;
                vmatr.push_back(vstr); // строка структур - в матрицу
                vstr.clear();
Что это за интересная конструкция? Я так понимаю, в данном случае size нужен для определения кол-ва строк. Соответственно, запускается цикл от 1-ой до последней строки, и в последний столбец каждой будет записываться значение свободного члена.

Видимо, для обычного массива пришлось бы делать цикл вроде такого:
C++
1
2
3
for (int i = 0; i < size; ++i)
for (int j = size; ; ++j)
  vstr[i] = val;
 
Текущее время: 15:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru