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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сортировка трехмерного массива http://www.cyberforum.ru/cpp-beginners/thread1224874.html
Выполнить сортировку трехмерного массива методом вставки, пызырька!
C++ В двумерном массиве заменить все четные элементы на минимальный элемент матрицы Задание: В двумерном массиве заменить все четные элементы на минимальный элемент матрицы. Зарание спасибо) http://www.cyberforum.ru/cpp-beginners/thread1224853.html
C++ Отредактировать текст по ширине
#include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <locale.h> #include <windows.h> #define KEY_CTRL_Z 0x1A #define KEY_ENTER 0xD #define KEY_POINT...
Вычислить суму 4 чисел (верхних и нижних) в масиве C++
помогите пожалуйста написать программу которая показывает суму читерех чисел в масиве масив заполненый рандомными числа!масив 4 на 4 12 ** ** 75 24 82 1 38 32 11 85 23 81 ** ** 28 ...
C++ Динамическая память new, delete http://www.cyberforum.ru/cpp-beginners/thread1224845.html
Всем привет! Столкнулся с понятием "выделение динамической памяти", прочел несколько статей на эту тему и возникли вопросы: 1. В чем преимущество такого выделения памяти(приведите пример...
C++ Не могу понять ошибку По задумке надо удалить два идущих подряд одинаковых слова. Задумка не выходит, выдаёт бурду... HELP ME!( #include "stdafx.h" #include <iostream> #include <fstream> #include <iomanip> #include... подробнее

Показать сообщение отдельно
ioscat
1 / 1 / 0
Регистрация: 07.05.2014
Сообщений: 44

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

09.07.2014, 11:57. Просмотров 278. Ответов 8
Метки (Все метки)

Всем привет!
Есть бинарный файл test.txt, в нём заголовок, который я пытаюсь прочитать в структуру, но что-то не идёт...
Содержание файла (от балды):
61 11 20 11 20 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0 f0
код программы:
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
#include <iostream>
using namespace std;
 
struct MyStruct
{
    unsigned char c;
    unsigned int i;
};
 
int main()
{
    FILE * MyFile = fopen ("c:\\cpptest\\test.txt", "r");
 
    MyStruct a;
    a.c=0;a.i=0;
    int StructSize=5;
 
    for(int i = 0;i<10;i++)
    {
        fseek(MyFile,i,SEEK_SET);
        fread(&a,StructSize,1,MyFile);
        cout << a.c << "\t";
        cout << a.i << "\n";
    }
    
    fclose(MyFile);
}
Я ожидал, что первый байт пойдёт в Unsigned Char, а ещё 4 в Insigned Int. Но в него идёт почему-то только последний пятый байт.

Выдача:
q 14
Є 15
[ 16
. 240
♫ 240
☼ 240
► 240
Ё 240
Ё 240
Ё 240
Для продолжения нажмите любую клавишу . . .
Добавлено через 16 минут
Ошибка в тексте файла, первые 8 байт:
71 f2 5b 2e 0e 0f 10 f0 f0
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru