Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 06.08.2008
Сообщений: 55

Считывание данных из файла

07.08.2008, 18:39. Показов 4601. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
у меня такая проблема: считываю данные из файла открытого fopen для чтения, символы записываются в символьный массив, как только считывание доходит до символа 'стрелочка вправо', если я не ошибаюсь 26 символ таблицы ASCII, дальнейшее считывание прекращается подскажите пожалуйста как это можно обойти, если этот символ не будет считан в массив это ничего страшного! заранее спасибо!!!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.08.2008, 18:39
Ответы с готовыми решениями:

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

считывание данных из файла в C++
В файле находиться следующяя информация: Name AIXTRON HANKORE_ENVM_TECH BOIRON 01.01.2009 4.78 0.039 17.34 ...

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

11
Эксперт С++
 Аватар для XuTPbIu_MuHTAu
2256 / 771 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
07.08.2008, 18:52
Попробуйте открывать файл не как текстовый,а как двоичный.
Code
1
 fopen("filename","rb" ) ;
0
1 / 1 / 0
Регистрация: 06.08.2008
Сообщений: 55
07.08.2008, 19:17  [ТС]
он тогда его откроет как нолики и единички???
0
 Аватар для Spo1ler
296 / 56 / 5
Регистрация: 22.05.2008
Сообщений: 788
07.08.2008, 19:18
или
Code
1
 fstream f(filename, ios::binary | ios::in | ios::out);
0
1 / 1 / 0
Регистрация: 06.08.2008
Сообщений: 55
07.08.2008, 19:21  [ТС]
так я сначала делал, в смысле таким способом файл открывал, но чет через fopen мне показалось проще работать!!!
в переменную посимвольно все вбивается через цикл, а не потоком!!! потоком он как-то криво к новым строкам относился!!!
0
Эксперт С++
 Аватар для XuTPbIu_MuHTAu
2256 / 771 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
07.08.2008, 19:33
Я вижу,вы не очень понимаете,что творится. Попробую объяснить.

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

Запомните : минимальная адресуемая ячейка памяти - байт. Если вас интересует каждый бит - есть побитовые операции,можете прочитать про них статью(гугл + яндекс). Но сначала вы получите байт,который будете анализировать. Так есть. Сами подумайте,чтобы прочитать файл по одному биту,функции ввода придется 8 раз считывать один байт,поскольку меньше нельзя. Да еще придется,кроме хранения положение в файле, запоминать номер считываемого бита. Себя такой подход не оправдывает.

Надеюсь,помог вам приблизиться к пониманию того,что происходит.

Добавлено через 7 минут
Добавлю еще,для полноты картины.
Тип char фактически представляет собой байт. Заодно он может интерпретироваться как символ функциями ввода-вывода. Но байт есть байт,и вы можете делать с ним что хотите. Узнать каждый бит,складывать и вычитать..
Если вы откываете файл как текстовый,с параметром "r" или "rt", функции
ввода интерпретируют этот байт как символ. Если вы используете
параметр "rb", в этот байт запишется байт,записанный в файле. Без всяких посредников.
0
1 / 1 / 0
Регистрация: 06.08.2008
Сообщений: 55
07.08.2008, 19:35  [ТС]
я понимаю!!! просто думал вдруг он сразу преобразовывать будет!!! вобщем не суть!!! если поставить rb то он не должен прерывать ввод в переменную!?
0
Эксперт С++
 Аватар для XuTPbIu_MuHTAu
2256 / 771 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
07.08.2008, 19:42
А ты проверь. Эксперементировать - это приятно и полезно.Не буду лишать тебя этого удовольствия
0
1 / 1 / 0
Регистрация: 06.08.2008
Сообщений: 55
07.08.2008, 20:18  [ТС]
так я же так и делаю!!! просто это все на работе!!! там нета нет!!! а домой коды брать нельзя!!! потому там маюсь а тут спрашиваю!!! )) просто все, программу сделал!!! выполняет то что от нее требуется, но попался файл с таким символом!!! в итоге вместо выходных результатов получилась фига с маслом!!!
0
Эксперт С++
 Аватар для XuTPbIu_MuHTAu
2256 / 771 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
07.08.2008, 20:34
Цитата Сообщение от smertnik Посмотреть сообщение
если поставить rb
....
Цитата Сообщение от smertnik Посмотреть сообщение
так я же так и делаю
Эти строчки не сочитаются. "Если" - значит,вы не делаете НЕ так.


Цитата Сообщение от smertnik Посмотреть сообщение
это все на работе!!! там нета нет!!! а домой коды брать нельзя!!!
Чтобы проверить,в каком случае программа прочитает символ 26,мне пришлось написать целых 18 строчек кода.Хотя хватило бы 8. Рассмотрел три варианта считывания. Почему бы вам не сделать то же самое? особенно если это ваша работа?
0
1 / 1 / 0
Регистрация: 06.08.2008
Сообщений: 55
07.08.2008, 21:03  [ТС]
так я же так и делаю относилось к эксперементированию!!! а на счет почему бы самому не подумать не так силен я в си!!! диплом защитил, программу написал, а в некоторых вопросах олень полный!!! вот потому за помощью и обращаюсь!!! плюс так получилось что переехал и книг вобще неосталось!!! ниодной!!! а с электронными сидеть очень непривычно!!! плюс чтоб в них ориентирвоаться хорошо их нужно сначала прочитать!!! а на это времени нет!!!
0
Эксперт С++
 Аватар для XuTPbIu_MuHTAu
2256 / 771 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
07.08.2008, 21:18
то,что не силен - дело поправимое)
Мой тебе совет - разбирайся,пиши,думай - по возможности сам.Тогда будешь силен Но если что - форум тут Тему закрываю, у меня работает,вопрос считаю решенным.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.08.2008, 21:18
Помогаю со студенческими работами здесь

Считывание данных с файла
Здравствуйте, помогите пожалуйста, программа не может прочитать данные из файла и я не знаю почему, вот код (dev-c++) if (*c==13) ...

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

Считывание данных из файла
почему не првильно работает считывание из файла? #include <iostream.h> #include <conio.h> #include <malloc.h> #include...

Считывание данных из файла
Нужно считать из txt-файла все значение "Angle", а затем присвоить им значения переменных "a" и "b" так, чтобы в цикле...

Считывание данных из файла
char y; ifstream fin; fin.open("maps1.txt"); fin >> y; fin.close(); cout << y; Почему-то не работает следующий код. В...


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

Или воспользуйтесь поиском по форуму:
12
Закрытая тема Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru