Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 14.09.2018
Сообщений: 9
1

Считывание из файла строк с разделителями, записывание в структуру

24.10.2019, 21:56. Просмотров 1073. Ответов 1
Метки нет (Все метки)

Здравствуйте, необходимо считать данные из файла и записать в массив струтктур.
Строки в файле следующего типа:

1;0004;800;Информативный;271,45;

Алиас структуры объявлен в другом файле:

typedef struct
{
int number;
int knumber;
int area;
char type[100];
float cost;
} *structura;

Сама структура проинициализирована и передается также в другом файле.

Код функции:

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
#include "structura.h"
#include <iostream>
#include <stdlib.h>
#include <cstring>
#include <string>
#include <fstream>
#include <sstream>
 
using namespace std;
 
int lines = 0;
 
void filereading(structura list)
{
    int i;
    ifstream date;
    string str, *a;
    char sep[] = ";";
 
    date.open("file.db");
 
    while (date.eof() == 0)
        {
            date >> str;
            line++;
        }
    line--;
    for(i=0; i < line; i++)
    {
        date >> str;
        stringstream *ss;
 
        ss = strtok(str, sep);
        ss >> list[i].number;
        ss = strtok(NULL, sep);
        ss >> list[i].knumber;
        ss = strtok(NULL, sep);
        ss >> list[i].area;
        ss = strtok(NULL, sep);
        ss >> list[i].type;
        ss = strtok(NULL, sep);
        ss >> list[i].cost;
    }
    date.close();
    cout << "\nФайл открыт.\n";
    system("pause");
}
Все возникающие ошибки указывают на функцию strtok.
Буду очень признателен за объяснения.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2019, 21:56
Ответы с готовыми решениями:

Записывание в структуру из файла
Добрый день! У меня проблема с записью из файла bla-bla.txt в структуру.char d; // Массив символов...

Считывание строк из файла и запись в структуру
Есть некая структура и массив таких структур x. struct cyberforum { int a; char b; float c;...

Чтение файла и записывание строк в массив
Собственно есть файл с именем res.txt, в нем содержатся строки 12 11 8 0 Нужно занести в...

Считывание/записывание даных через хранимые процедуры sql
Привет. Задание: есть информация, что у нас есть mysql сервер с такими процедурами. --...

1
1542 / 889 / 414
Регистрация: 01.10.2018
Сообщений: 1,864
Записей в блоге: 2
25.10.2019, 03:28 2
Лучший ответ Сообщение было отмечено rialbat как решение

Решение

Цитата Сообщение от rialbat Посмотреть сообщение
Все возникающие ошибки указывают на функцию strtok.
Правильно указывают. Сигнатура этой функции:
C++
1
char *strtok(char *strToken, const char *strDelimit);
Обратите внимание, что первым параметром идёт указатель на неконстантную строку. Т.е. при своей работе функция изменяет исходную строку.

А вы передаёте в strtok() переменную типа string. Поэтому и ошибки.

Почитайте описание функции и посмотрите пример.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.10.2019, 03:28

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Считывание из файла в структуру
Добрый день, столкнулся с такой проблемой. Есть файл со строками из 1 и 0 Пример: 1111110...

Считывание из файла в структуру
структура вида название_фильма,стоимость,режиссер.Данные в файле.Как считать название фильма...

Считывание данных из файла в структуру
из файла нужно считать данные и записать их в структуру. данные из файла: Петров П.П. С++ для...

Считывание информации из файла в структуру
Добрый день! Помогите, пожалуйста, с решением задачи. Дан символьный файл f, содержащий...

Считывание данных из текстового файла в структуру
Программа не желает считывать данные из текстового файла, компилируется и работает норм, но как...

Считывание всей строки из файла в структуру
Привет. Есть программа, считывающая из файла некоторые данные про рабочих и вывод их на экран с...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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