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

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

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

Чтение из файла - C++

16.11.2014, 12:42. Просмотров 263. Ответов 6
Метки нет (Все метки)

Не знаю как нормально организовать чтение чисел из файла (числа в файле расположены через запятую)
пример файла:

14,79,..,4
68,74,..,43
..............
16,47,..,58

количество чисел в каждой строке само собой разное, доходит до 90 (максимум), но все числа в интервале int.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2014, 12:42     Чтение из файла
Посмотрите здесь:

Чтение из файла - C++
Всем привет! Есть одна небольшая проблема. Существует файл input.txt в котором два числа 3 и 5. Вот код: #include<iostream> ...

чтение из файла - C++
Здравствуйте, уважаемые программисты. Есть файл с записями (объектами), у каждой записи 3 параметра (переменные). Я считываю запись,...

Чтение из файла - C++
Всем привет . У меня возникла небольшая проблема . int main(int argc, char* argv) { FILE * ptr ; unsigned char...

Чтение файла - C++
Как в си прочитать файл побайтово?

Чтение с файла - C++
Всем добрый день. Вот хотелось бы научиться считывать с файла текст и цифры в разные переменные. Пример: (в файле записано) Привет...

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

Чтение из файла!) - C++
ребят снова нужна ваша помощь! задача звучит так.... Дан текст произвольной длины определить сколько в нём повествовательных предложений,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
5275 / 4595 / 1540
Регистрация: 14.04.2014
Сообщений: 18,249
16.11.2014, 13:22     Чтение из файла #2
В чём сложность? Надо в одномерный массив сохранять или как матрицу?
Redivn
0 / 0 / 0
Регистрация: 16.11.2014
Сообщений: 6
16.11.2014, 13:30  [ТС]     Чтение из файла #3
не знаю как нормально обойти запятые, потому что до этих чисел есть еще полезная информация в виде текста и других чисел. В инете и на форумах нашел только:
1) считать в строку все
2) преобразовать строку в числа
Так как в строке куча другой информаци, то это как-то сложно будет. Других способов я не нашел.
+ раз так много чисел, то возможно вся информация в одну строку не влезет

Добавлено через 2 минуты
единственный простой вариант о котором я подумал - это скопировать эти числа в эксель и там автоматически разбить на столбцы через запятую..
nmcf
5275 / 4595 / 1540
Регистрация: 14.04.2014
Сообщений: 18,249
16.11.2014, 13:44     Чтение из файла #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Про другую полезную информацию не понятно, а конкретно ту структуру, какую ты описал, можно так прочитать при условии, что нет пробелов лишних между цифрами и запятыми и файл не пустой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    std::vector<std::vector<int>> v;
    int n, i = 0;
    v.push_back(std::vector<int>());
    std::ifstream ifs("d:\\data.txt");
    while (!ifs.eof())
    {
        ifs >> n;
        v[i].push_back(n);
        char c = ifs.get();
        if (ifs.eof()) break;
        if (c == '\n')
        {
            v.push_back(std::vector<int>());
            ++i;
        }
    }
Redivn
0 / 0 / 0
Регистрация: 16.11.2014
Сообщений: 6
16.11.2014, 13:58  [ТС]     Чтение из файла #5
Спасибо! все круто, только я не понимаю почему после запятой не должно быть пробелов?

Добавлено через 2 минуты
то есть тогда нужно просто два раза
C++
1
  c = ifs.get();
вместо одного сделать, я правильно понял?
nmcf
5275 / 4595 / 1540
Регистрация: 14.04.2014
Сообщений: 18,249
16.11.2014, 14:01     Чтение из файла #6
Ну потому что я так алгоритм составил. Можно доработать, чтобы и пробелы допускались. Суть в том, что число извлекается до запятой, get() пропускает запятую, а если будет пробел, то запятая останется. Запятая должна быть слитно с предыдущим числом.

Добавлено через 1 минуту
Нет, если пробелы разрешить, то нет гарантии, что их не будет два, три или десять. Нужно тогда циклом читать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2014, 14:05     Чтение из файла
Еще ссылки по теме:

Чтение из файла - C++
Добрый день. Есть следующая программа. Она вначале записывает массив объектов в файл, а затем должна считать его. Когда я применяю полный...

Чтение файла - C++
Доброго времени суток. Пишу программу которая может читать каждый символ файла. #include&lt;iostream&gt; #include&lt;fstream&gt; ...

Чтение из файла - C++
у меня есть файл такого вида N | utr |KPD | 1 | 335.25 |0.78 | 2 | 276.09 |0.78 | 3 | 223.90 |0.78 | 4 | 184.39...

Чтение из файла - C++
Доброго всем дня! Опишу свою проблему - есть файл с библиотекой данных (размером аж 142 082 049 байт), в одном байте которой хранится 2...

Чтение файла - C++
Не видит или не может открыть фаил: #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include...


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

Или воспользуйтесь поиском по форуму:
Redivn
0 / 0 / 0
Регистрация: 16.11.2014
Сообщений: 6
16.11.2014, 14:05  [ТС]     Чтение из файла #7
ну это не проблема, количество пробелов всегда одно и тоже и равно одному, ну или действительно циклом)
Большое спасибо, я разобрался!
Yandex
Объявления
16.11.2014, 14:05     Чтение из файла
Ответ Создать тему
Опции темы

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