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

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

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

Считывание посимвольно файл - C++

01.06.2014, 13:59. Просмотров 479. Ответов 7
Метки нет (Все метки)

Нужно считать посимвольно файл, но когда начал реализовать, то запутался, мне в цикле надо иметь доступ к нынешнему символу, и доступ к следующему символу. И так до конца файла, к примеру:

a4=33 - он должен считывать так:

первая итерация:

a- нынешний символ | 4 -следующий
4 - нынешний символ | = - следующий
и т.д

вот моя реализация

C++
1
2
3
4
5
6
while (!fin.eof()) {
        char a; 
               fin.get(ch);
        fin.get(a);
        cout << " iter:" << ch <<"|"<<a<< endl;
}
НО, она выдает такое сообщение:
iter: a | 4
iter: = | 5
iter: = | 5

Почему 2 раза последняя строка, я не понял. Текст файла таков : a4=55
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2014, 13:59     Считывание посимвольно файл
Посмотрите здесь:

Считывание числа из текстовика посимвольно - C++
в текстовом файле забито число(например 1368), нужно посимвольно его подсчитать и вывести на экран. цикл написал: for...

Считывание String посимвольно либо Char in Switch - C++
Здравствуйте, суть такова: Нужно написать 3 числа (0-7), а дальше считать каждое число по отдельности и в зависимости от числа, выполнить...

Считать посимвольно файл стандартными средствами и итераторами - C++
Необходимо прочитать файл в котором находится мусор, из файла требуются только определенные символы (сам сделаю) и поместить это в...

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

Считать файл в переменную типа char, и работать посимвольно - C++
считать файл в переменную типа char, а дальше с ней нужно работать посимвольно, так вот, как написать while(пока это не последний символ...

Считывание в файл - C++
Всем привет. Сегодня столкнулся с проблемой. Программа делает 4 действия: рандомой забивает числа в файл,затем считывает их в...

Считывание и запись в файл - C++
Короче пытаюсь считать из одного файла цифру и записать ее в другой файл На то что после // не обращайте внимания эт я для себя писал))) ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.06.2014, 15:52     Считывание посимвольно файл #2
Цитата Сообщение от oltar19 Посмотреть сообщение
Почему 2 раза последняя строка, я не понял.
C++
1
2
3
4
5
6
7
8
9
10
11
while (true) 
{
        char a; 
        fin.get(ch);
        if (fin.eof())
             break;
        fin.get(a);
        if (fin.eof())
             break;
        cout << " iter:" << ch <<"|"<<a<< endl;
}
Добавлено через 2 минуты
C++
1
2
3
4
5
char a, ch;
while (fin.get(ch) && fin.get(a)) 
{
        cout << " iter:" << ch <<"|"<<a<< endl;
}
oltar19
0 / 0 / 0
Регистрация: 21.02.2013
Сообщений: 47
01.06.2014, 16:05  [ТС]     Считывание посимвольно файл #3
Нет, в данном случае он перепрыгивает за одну итерацию на две позиции, т.е выводит так:

iter: a | 3
iter = | 5

а должен:

iter: a | 3
iter: 3 | =
iter: = | 5

Может как то через си-шные указатели можно реализовать, подчеркну, что мне важно в цикле иметь доступ к элементу настоящему и следующему элементу, но приэтом цикл идет по каждому символу.

Что касается сишных указателей, я имел ввиду, типо того
FILE **fin
*fin - это текущий символ
*fin++ - а это указатель на следующий
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.06.2014, 16:22     Считывание посимвольно файл #4
Цитата Сообщение от oltar19 Посмотреть сообщение
Нет, в данном случае он перепрыгивает за одну итерацию на две позиции,
Я ответил на это:
Цитата Сообщение от oltar19 Посмотреть сообщение
Почему 2 раза последняя строка, я не понял.
Добавлено через 5 минут
C++
1
2
3
4
5
6
7
char ch;
while (fin.get(ch)) 
{
        cout << " iter:" << ch <<"|"
        if (fin.peek() != EOF) 
            cout << fin.peek() << endl;
}
oltar19
0 / 0 / 0
Регистрация: 21.02.2013
Сообщений: 47
01.06.2014, 16:28  [ТС]     Считывание посимвольно файл #5
Ясно, а про организацию потока черзе си, с помощью указателей, можно реализовать или нет?
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.06.2014, 16:29     Считывание посимвольно файл #6
Цитата Сообщение от oltar19 Посмотреть сообщение
а про организацию потока черзе си, с помощью указателей, можно реализовать или нет?
Тут форум С++, а не Си.
ValeryS
Модератор
6550 / 5016 / 463
Регистрация: 14.02.2011
Сообщений: 16,729
01.06.2014, 16:33     Считывание посимвольно файл #7
Цитата Сообщение от oltar19 Посмотреть сообщение
что мне важно в цикле иметь доступ к элементу настоящему и следующему элементу,
Ты умеешь заглядывать в будущее?
следующий элемент еще не считан, программа про него ничего не знает
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2014, 16:34     Считывание посимвольно файл
Еще ссылки по теме:

Построчное считывание в файл - C++
Все записывается в одну строку , как сделать так чтобы записывалось в отдельные строки? void enter_new() { cout &lt;&lt;...

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

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

Считывание и запись в файл - C++
В Си. В файле data.txt даны квадратная матрица A и вектор X, соответствующих размерностей. Написать и протестировать функцию: а)...

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


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

Или воспользуйтесь поиском по форуму:
Kerry_Jr
Модератор
Эксперт PHP
2178 / 1974 / 689
Регистрация: 14.05.2014
Сообщений: 5,773
Записей в блоге: 1
Завершенные тесты: 5
01.06.2014, 16:34     Считывание посимвольно файл #8
Цитата Сообщение от oltar19 Посмотреть сообщение
Почему 2 раза последняя строка, я не понял.
Может быть из-за того, что файл заканчивается переводом строки.
Yandex
Объявления
01.06.2014, 16:34     Считывание посимвольно файл
Ответ Создать тему
Опции темы

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