0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 5

Считывание с файла

17.11.2011, 10:49. Показов 2125. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно считать с текстового файла числа не зная их количество, вроде не сложно, но как не пробую считывает бред какой то. Кто нить помогите, надо срочно
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.11.2011, 10:49
Ответы с готовыми решениями:

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

Считывание файла в массив и запись нового файла
Консоль VS C++. Текстовый файл открывается как бинарный, и считывается по 100 байт в массив - и сразу они переписываются в другой файл. В...

считывание из файла c++
считываю из файла, но он не читает все строки, почему не знаю. Может кто-нибудь помочь? ifstream file("1.txt",ios::in); ...

9
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
17.11.2011, 11:00
Цитата Сообщение от KиT Посмотреть сообщение
но как не пробую
показывайте как пробуете
1
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 5
17.11.2011, 11:03  [ТС]
пробовал использовать функцию feof
FILE *f;
. . .
while (!feof(f))
{
int c = fgetc(f);
. . .
}
0
 Аватар для greshnikk
31 / 31 / 8
Регистрация: 05.11.2008
Сообщений: 162
17.11.2011, 11:11
Цитата Сообщение от KиT Посмотреть сообщение
пробовал использовать функцию feof
C++
1
    int c = fgetc(f);
Функция fgetc считывает один символ (char). Для того, чтобы считывать число, нужно прочитать строку целиком(fgets) и далее ее распарсить (обработать). То есть все что до пробела, будет считаться числом. До следующего пробела - следующее число, и так далее.
Замечание: Может оказаться так, что количество чисел, находящихся в файле, будет превышать буфер для хранения строки, надо обязательно учесть этот момент.
1
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 5
17.11.2011, 11:14  [ТС]
а можно по подробнее про "распарсировать" ? чем это делается ?
0
 Аватар для greshnikk
31 / 31 / 8
Регистрация: 05.11.2008
Сообщений: 162
17.11.2011, 11:23
Цитата Сообщение от KиT Посмотреть сообщение
а можно по подробнее про "распарсировать" ? чем это делается ?
Пример навскидку, самый грубый (прошу простить меня за это). Вот у нас получилась строка такого вида "12 321 287". Копируем строку до пробела, исключая пробел, в массив, не забыв при этом сохранить количество скопированных символов n (по факту количество цифр в числе). После этого нужно из строки "12" сделать число 12. Заводим переменную целочисленного типа, которая равна первый символ * 10^(n-1) + второй символ * 10^(n-2). Что получится: 1*10 + 2 * 1 = 10 + 2 = 12.
Рассмотрим следующий случай: 3*10^(n-1) + 2*10^(n-2) + 1*10^(n-3) = 3*100 + 2*10 + 1 = 321.
1
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 5
17.11.2011, 11:40  [ТС]
спасибо за метод, а есть способ просто узнать количество элементов, не считывая строку полностью ?
0
 Аватар для greshnikk
31 / 31 / 8
Регистрация: 05.11.2008
Сообщений: 162
17.11.2011, 12:04
Цитата Сообщение от KиT Посмотреть сообщение
спасибо за метод, а есть способ просто узнать количество элементов, не считывая строку полностью ?
Скорее всего нет. По крайней мере, я такой придумать не могу. Кстати, Вы можете заметить, что тот способ что предложил я, не считывает строку полностью в общем случае. Он считывает не больше чем размер буфера.
1
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 5
17.11.2011, 12:08  [ТС]
еще раз спасибо, попробую реализовать.
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
17.11.2011, 12:22
C
1
2
    while (fscanf(ifp, "%d", &a[i]) == 1)
        i++;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.11.2011, 12:22
Помогаю со студенческими работами здесь

Считывание из файла
Всем привет! Есть вот такая проблема: при считывании данных из файла в объект ниоткуда берутся лишние данные. В чем может быть проблема?...

Считывание из файла С++
Программа, которая считывает текст из файла и выводит его на экран, заменив цифры от "0" до "9" словами (ноль, один...

Считывание из файла
Помогите пожалуйста,никак не могу найти,как считать данные из такого файла: Rup 106 12 38 40.2 -51 09 01 300.88...

Считывание из файла
В общем-то задача таков- считать из файла ВСЁ, ЧТО ТАМ ЕСТЬ, далее это зашифровать и сохранить. Для шифрования выбрал base64, проблем...

Считывание из файла
Есть к примеру некий файл d:\\file.txt Мне оттуда нужно считать переменные. Все нормально считывает fsсanf если в файле ТОЛЬКО цифры. ...


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

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

Новые блоги и статьи
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
Полностью асинхронный счётчик на логике (сумматорах) трёх состояний и асинхронных регистрах трёх состояний. Структура "электронный Buttom Up"
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
Автоматизация Amazon Web Services (AWS) с Boto3 в Python
py-thonny 25.04.2025
Облачные вычисления стали неотъемлемой частью современной ИТ-инфраструктуры, а Amazon Web Services (AWS) занимает лидирующие позиции среди провайдеров облачных услуг. Управление многочисленными. . .
Apache Kafka vs RabbitMQ в микросервисной архитектуре
ArchitectMsa 25.04.2025
Современная разработка ПО всё чаще склоняется к микросервисной архитектуре — подходу, при котором приложение разбивается на множество небольших, автономных сервисов. В этой распределённой среде. . .
Параллельное программирование с OpenMP в C++
NullReferenced 24.04.2025
Параллельное программирование — подход к созданию программ, когда одна задача разбивается на несколько подзадач, которые могут выполняться одновременно. Оно стало необходимым навыком для. . .
Цепочки методов в C# с Fluent API
UnmanagedCoder 24.04.2025
Современное программирование — это не только решение функциональных задач, но и создание кода, который удобно поддерживать, расширять и читать. Цепочки методов и Fluent-синтаксис в C# стали мощным. . .
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
Реализация конвейеров машинного обучения с Python и Scikit-learn
AI_Generated 23.04.2025
Мир данных вокруг нас растёт с каждым днём, и умение эффективно обрабатывать информацию стало необходимым навыком. Специалисты по машинному обучению ежедневно сталкиваются с задачами предобработки. . .
Контроллеры Kubernetes Ingress: Сравнительный анализ
Mr. Docker 23.04.2025
В Kubernetes управление входящим трафиком представляет собой одну из ключевых задач при построении масштабируемых и отказоустойчивых приложений. Ingress — это API-объект, который служит вратами. . .
Оптимизация кода Python с Cython и Numba
py-thonny 23.04.2025
Python прочно обосновался в топе языков программирования благодаря своей простоте и гибкости. Разработчики любят его за читабельность кода и богатую экосистему библиотек. Но у этой медали есть и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru