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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Cawka
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 5
#1

Прочитать данные из файла - C++

15.01.2014, 12:36. Просмотров 769. Ответов 13
Метки нет (Все метки)

Доброго времени суток!
Помогите написать программку для чтения данных из файла, а то никак не получается. Есть файл, в первой строке которого я знаю, что написано. В матлабе всё отлично считывается, а повторить на С++ не получается. В первой строке подряд записаны следующие переменные: char[4] long long char[32] long long.
Результат должен быть следующий: GIDR 2 344 test ta 10 2
Файл прилагаю.

Заранее огромное спасибо.
0
Вложения
Тип файла: rar E010_002.rar (2.30 Мб, 4 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2014, 12:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Прочитать данные из файла (C++):

Прочитать данные структуры из файла - C++
Есть структура struct person { String name; String famil; String otchest; } Как записать в ее поля данные из файла? В...

Прочитать данные из файла в массив - C++
Здравствуйте, я посоветоваться. Задача моего кода состоит в том, что у меня есть текстовый файл с числами, а в коде есть переменные,...

Прочитать данные из файла и построить график - C++
Программа, у которой не ясно, откуда ноги растут У меня есть программа, которая выдаёт данные в формате DAT. Там есть названия колонок...

Прочитать из текстового файла данные в массив структур - C++
Структура типа: Фамилия,логин,пароль,роль(администратор, модератор, простой пользователь) Не могу понять как прочитать из текстового...

Прочитать данные из файла в матрицу с указанной позиции - C++
"дата 16.09.03 время 0:03:28 число точек 6144 частота 0616000 станция радиостация дискретность 50 Ф.И.О. оператора калибровка...

Прочитать данные из xlsx файла и записать в другой файл - C++
Всем бодрой пятнички!:) Соскучилась я за вами, потому обращаюсь с вопросом.:gwink: Всегда была слаба в теме работы с файлами. А тут...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
TutNeKur9t
Сообщений: n/a
15.01.2014, 14:30 #2
C++
1
2
3
4
5
char srt[220];
FILE *file;
 file = fopen( "file.txt", "r" );
char* file_name = "file.txt";
 fgets( srt, 100000 , file);
могу подсказать такую конструкцию, но здесь открывается файл txt и записывает все все находящиеся данные в одну переменную
Ev_Hyper
Заблокирован
15.01.2014, 14:55 #3
Цитата Сообщение от Cawka Посмотреть сообщение
Есть файл, в первой строке которого я знаю, что написано
а что написано в следующих строках неизвестно?

Цитата Сообщение от Cawka Посмотреть сообщение
В первой строке подряд записаны следующие переменные: char[4] long long char[32] long long.
Результат должен быть следующий: GIDR 2 344 test ta 10 2
поясните
0
Cawka
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 5
15.01.2014, 15:15  [ТС] #4
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
а что написано в следующих строках неизвестно?
поясните
Неизвестно. Что там написано как раз и надо понять. Известна только первая строка. И если она правильно расшифровалась, то и остальное расшифруется.

Известно, что первые 4 элемента первой строки имеют тип chart и после расшифровки должно получится "GIDR" (они расшифровываются без проблем). Затем идут две переменные типа long и их значения должны быть 2 и 344 соответственно (Расшифровать их уже не получается). Потом 32 элемента типа chart и т.д.
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.01.2014, 15:32 #5
Цитата Сообщение от Cawka Посмотреть сообщение
И если она правильно расшифровалась, то и остальное расшифруется.
Смеётесь или издеваетесь?
1
Cawka
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 5
15.01.2014, 15:41  [ТС] #6
Цитата Сообщение от alsav22 Посмотреть сообщение
Смеётесь или издеваетесь?
Сейчас для меня самое главное правильно расшифровать первую строку, а остальные - это уже второе дело.
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.01.2014, 15:48 #7
Она разве зашифрована?
0
S_el
2100 / 1611 / 308
Регистрация: 15.12.2013
Сообщений: 6,452
15.01.2014, 15:49 #8
Цитата Сообщение от Cawka Посмотреть сообщение
Сейчас для меня самое главное правильно расшифровать первую строку,
А как зашифрована ваша первая строка?
0
Ev_Hyper
Заблокирован
15.01.2014, 15:49 #9
Цитата Сообщение от Cawka Посмотреть сообщение
Неизвестно. Что там написано как раз и надо понять. Известна только первая строка. И если она правильно расшифровалась, то и остальное расшифруется.
...насколько я понял, данные из файла у вас в шифрованном виде, ключ узнается из первой строки. Правильно?

Но данные будут все равно записыватся в строку или в char.
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.01.2014, 15:50 #10
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
#include <iostream>
#include <fstream>
#include <cstdlib>
 
using namespace std;
 
struct data
{
    char str1[4];
    long a;
    long b;
    char str2[32];
    long c;
    long d;
};
 
int main()
{
    ifstream fin("E010_002.dat", ios::binary);
    if (!fin) cout << "Error fin!" << endl;
    else
    {
        
        data dt;
        fin.read((char*)&dt, sizeof(dt)); 
        // в dt: GIDR 2 344 test ta 10 2
    }
 
    system("pause");
}
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.01.2014, 16:16 #11
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
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
#include <fstream>
#include <cstdlib>
 
using namespace std;
 
struct data
{
    char str1[4];
    long a;
    long b;
    char str2[32];
    long c;
    long d;
 
    void out()
    {
        for (int i = 0; i < 4; ++i)
            cout << str1[i];
        cout << endl;
        
        cout << a << endl << b << endl;
        
        int i;
        for (i = 0; str2[i] != 0 && i < 32; ++i)
            cout << str2[i];
        cout << endl;
        
        ++i;
        for (int j = i; str2[j] != 0 && j < 32; ++j)
            cout << str2[j];
        cout << endl;
 
        cout << c << endl << d << endl;
    }
};
 
int main()
{
    ifstream fin("E010_002.dat", ios::binary);
    if (!fin) cout << "Error fin!" << endl;
    else
    {
        data dt;
        fin.read((char*)&dt, sizeof(dt)); 
        
        dt.out();
        cout << endl;
    }
 
    system("pause");
}
1
Миниатюры
Прочитать данные из файла  
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.01.2014, 16:16 #12
И что дальше?
2
Cawka
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 5
15.01.2014, 16:40  [ТС] #13
alsav22, огромное спасибо!!! Теперь буду дальше разбираться с файлом.
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.01.2014, 16:46 #14
out() лучше так сделать (чтобы выводил из str2 все, разделённые нолями, последовательности символов):
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
void out()
    {
        for (int i = 0; i < 4; ++i)
            cout << str1[i];
        cout << endl;
        
        cout << a << endl << b << endl;
        
        int j = 0;
        while (true)
        {
            if (str2[j] != 0 && j < 32)
            {
                cout << str2[j];
                ++j;
                continue;
            }
            if (j != 0 && str2[j - 1] != 0) cout << endl;
            if (j == 32) break;
            ++j;
        }
        
        cout << c << endl << d << endl;
    }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.01.2014, 16:46
Привет! Вот еще темы с ответами:

Прочитать строки из файла в массив строк, и вывести на экран данные по условию - C++
Задача такая: В файле хранятся фамилии актеров кино. Каждая строка отдельная фамилия. Написать программу, которая читает строки из файла...

Прочитать информацию из файла и рассортировать как структуру, где хранятся данные про каждую книгу - C++
в файле записываю информация про книги: автор, название, год издания, кол-во страниц. нужно с читать её из файла и рассортировать как...

Записать в файл F слова. Прочитать данные из файла и найти слова из 5 букв - C++
Записать в файл F слова. Прочитать данные из файла и найти слова из 5 букв Не получается написать, поправьте что бы работала...

Прочитать из файла данные структуры "Цех" - C++
Структура состоит из цеха,начальник цеха и количество людей работующих Добавлено через 14 минут Срочно нужно


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.01.2014, 16:46
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru