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

Чтение чисел из файла до конца строки

03.09.2018, 05:32. Просмотров 1252. Ответов 8
Метки нет (Все метки)

Есть один файл. В первой строке написано общее количество последующих строк, во всех остальных — как раз эти строки, в каждой из которых есть неопределённое количество чисел. Мне нужно первые два числа строки записывать в переменные, все следующие — поочерёдно в два массива, а после выполнения определённых действий — стирать оба массива. Не знаете как это правильно реализовать? Есть идея сделать все с помощью getline() и дальше работать с динамическим массивом массивов символов, но так, по-моему, совсем колхозно выходит.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.09.2018, 05:32
Ответы с готовыми решениями:

Чтение чисел из файла. Чтение после конца потока невозможно
Товарищи, помогите. В Pascal'e я не силен, так что не бейте меня ногами, но есть задача: написать...

Чтение до конца файла и строки
Здравствуйте, форумчане! На днях в универе задали одну тривиальную задачку, но считывание...

Чтение 3-ей строки с конца файла!!!
Здравствуйте форумчане!! Вопрос такой, каким образом можно считать 3-ю строку с конца файла? Мой...

Чтение файла с n строки и до конца файла
как сделать так чтобы писало не с начала файла а например с середины и до конца? fstream...

8
Продавец времени
3647 / 2062 / 464
Регистрация: 12.03.2015
Сообщений: 10,336
03.09.2018, 07:27 2
Вот пример неправильной формулировки вопроса на форумах.

А надо так:
Есть один файл (скачать - ссылка). В первой строке написано общее... блаблабла...
0
0 / 0 / 0
Регистрация: 27.09.2017
Сообщений: 4
03.09.2018, 07:40  [ТС] 3
Файла у меня как такого-то и нет, да и каждый раз он будет отличаться. Думаю, логичнее было как раз описать его составляющую. Но, если это так важно, то вот пример содержания документа:

4
3 4 5 6 35 2 531 233 134 54 3 3 4 5 674 4
352 1 34 3 56 2 3 42 4 2
12 3 1 1 2 5 2 4 2 3 2 4 16 23 11 2
1 1 2 3
0
Продавец времени
3647 / 2062 / 464
Регистрация: 12.03.2015
Сообщений: 10,336
03.09.2018, 07:51 4
Лучший ответ Сообщение было отмечено Марк Шелестов как решение

Решение

Цитата Сообщение от Марк Шелестов Посмотреть сообщение
Файла у меня как такого-то и нет, да и каждый раз он будет отличаться.
В общем случае это важно. Особенно - возможность именно скачать файл(ы), а не копировать их текстовое содержимое из браузера, т.к. реальная инфа может быть частично утеряна.
Цитата Сообщение от Марк Шелестов Посмотреть сообщение
Думаю, логичнее было как раз описать его составляющую.
Описать содержимое - обязательно.
---------
Для выполнения твоей задачи и strtok() сгодится.
1
0 / 0 / 0
Регистрация: 27.09.2017
Сообщений: 4
03.09.2018, 08:11  [ТС] 5
Спасибо.
0
1706 / 598 / 186
Регистрация: 12.03.2016
Сообщений: 2,165
06.09.2018, 23:26 6
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
#include <iostream>
#include <string_view>
#include <vector>
#include <sstream>
#include <charconv>
 
auto str_num(std::string_view ss)
{
    double res;
    std::from_chars(ss.data(), ss.data() + ss.size(), res);
    return res;
}
 
int main()
{
    std::string buf(" 12.456 12 47.8765 -2 34 -4756.876 4563.87 -984.57 ");
    std::istringstream ist(buf);
    std::string tmp;
    std::vector <double> v;
 
    while (ist >> tmp)
        v.emplace_back(str_num(tmp));
 
    for (const auto & el : v)
        std::cout << el << '\n';
 
    system("pause");
}
0
3191 / 2640 / 710
Регистрация: 25.03.2012
Сообщений: 9,529
Записей в блоге: 1
07.09.2018, 00:21 7
Manowar, я думаю это медвежья услуга для студентов и школьников - вместо того, чтобы выдавать им готовое "школьное" решение, намеренно обфусцировать код фишками из С++17
0
1706 / 598 / 186
Регистрация: 12.03.2016
Сообщений: 2,165
07.09.2018, 00:29 8
Kuzia domovenok, ну хорошо, к C++17 вернемся в 2027 году, а еще лучше в 2037, тогда воще актуально будет.
0
3191 / 2640 / 710
Регистрация: 25.03.2012
Сообщений: 9,529
Записей в блоге: 1
07.09.2018, 10:01 9
Цитата Сообщение от Manowar Посмотреть сообщение
Kuzia domovenok, ну хорошо, к C++17 вернемся в 2027 году, а еще лучше в 2037, тогда воще актуально будет.
если в 2027 году в учебных заведениях по-прежнему будут изучать классический С++ без фишек 17, то и 2027 будем так поступать. Иначе палево.
Я бы на месте преподователя при одном взгляде на std::string_view определил бы, что код не студенческий, а с киберфорума. Повторяюсь - палево!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.09.2018, 10:01

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

Внешняя сортировка бинарного файла (чтение после конца файла невозможно)
Помогите отладить программу, не вижу, что здесь можно сделать. Похоже, курсор файла где-то в коде...

Вывод из файла в QTableWidget, построчное чтение с конца файла
Привет! Делаю первые шаги в Qt, собственно поэтому без проблем никуда. Моя задача на данный...

Чтение до конца строки
В файле лежит только одно слово, мне его надо считывать while по символьно, я никак не разберусь с...

Чтение до конца строки
Имя:Андрей Возраст:21 Дети:2 Вопрос:Hello:World Вот есть такой текстовый файл и я сделал...


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

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

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