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

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

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

Считать файл в переменную типа char, и работать посимвольно - C++

16.01.2014, 21:35. Просмотров 721. Ответов 9
Метки нет (Все метки)

считать файл в переменную типа char, а дальше с ней нужно работать посимвольно, так вот, как написать
while(пока это не последний символ переменной), или что-то вроде того...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
...
    cout << "Введите имя файла для чтения: ";
    cin >> filein;
    ifstream (filein, "r", stdin); // Объявляем файл для чтения
    cin >> pro;
 
    while () //вопрос относится к этому месту
   {
       char word;
       i = 0;
       while (pro[i] && flag[pro[i]]) //пропускаем все разделители
           i++;
       j = i; 
...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт CЭксперт С++
6616 / 3807 / 496
Регистрация: 29.11.2010
Сообщений: 10,050
16.01.2014, 21:39     Считать файл в переменную типа char, и работать посимвольно #2
C++
1
2
3
4
5
6
7
8
#include <fstream>
#include <iostream>
 
int main()
{
    std::ifstream ifs("tmp.cpp");
    for (char x; ifs >> x; std::cout << x);
}
Нельзя весь файл считать в одну переменную, которая может хранить лишь букву.
cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
16.01.2014, 21:39     Считать файл в переменную типа char, и работать посимвольно #3
NekoNee, Количество символов = strlen(pro); Соответственно последний символ это pro[strlen(pro) - 1]
Это в теории, конечно если вы правильно считаете все с файла
MrGluck
Ворчун
Эксперт CЭксперт С++
6616 / 3807 / 496
Регистрация: 29.11.2010
Сообщений: 10,050
16.01.2014, 21:44     Считать файл в переменную типа char, и работать посимвольно #4
Можно еще так вот сделать:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <fstream>
#include <iostream>
#include <iterator>
#include <string>
 
int main()
{
    std::ifstream ifs("tmp.cpp");
    std::string str((std::istream_iterator<char>(ifs)), std::istream_iterator<char>());
    std::cout << str << std::endl;
}
NekoNee
0 / 0 / 0
Регистрация: 11.01.2014
Сообщений: 16
16.01.2014, 21:44  [ТС]     Считать файл в переменную типа char, и работать посимвольно #5
MrGluck, то есть, считывать надо не в char, а в string?
MrGluck
Ворчун
Эксперт CЭксперт С++
6616 / 3807 / 496
Регистрация: 29.11.2010
Сообщений: 10,050
16.01.2014, 22:06     Считать файл в переменную типа char, и работать посимвольно #6
Цитата Сообщение от NekoNee Посмотреть сообщение
MrGluck, то есть, считывать надо не в char, а в string?
все зависит от того, что мы хотим далее с этим делать
NekoNee
0 / 0 / 0
Регистрация: 11.01.2014
Сообщений: 16
16.01.2014, 22:16  [ТС]     Считать файл в переменную типа char, и работать посимвольно #7
MrGluck, надо считать из файла, потом каждое слово проверить на палиндромность (т.е. оно должно одинакого читаться и с начала и с конца), если слово - палиндром, записать его в файл, ну и потом вывести все палиндромы, которые содержатся в этом файле. вот.
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16677 / 6603 / 427
Регистрация: 12.06.2012
Сообщений: 19,834
Завершенные тесты: 1
16.01.2014, 22:20     Считать файл в переменную типа char, и работать посимвольно #8
NekoNee, а какой формат данных в файле?

Не по теме:

Цитата Сообщение от MrGluck Посмотреть сообщение
переменную, которая может хранить лишь букву.
*вредный коммент и частично верная поправка* поправка: лишь код символа (не считая цифр и т.п., есть многобайтовые кодировке)

NekoNee
0 / 0 / 0
Регистрация: 11.01.2014
Сообщений: 16
16.01.2014, 22:23  [ТС]     Считать файл в переменную типа char, и работать посимвольно #9
KOPOJI, просто текст, абстрактный. хоть отрывок из Пиноккио. это уж что препод воткнет)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2014, 23:00     Считать файл в переменную типа char, и работать посимвольно
Еще ссылки по теме:

C++ НЕ записывается содержимое файла в переменную типа char
Считать посимвольно файл стандартными средствами и итераторами C++
C++ Вывести с помощью printf переменную типа char*
Переменную типа char представить в виде 8 битов C++
Занести число в переменную, типа char C++

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

Или воспользуйтесь поиском по форуму:
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16677 / 6603 / 427
Регистрация: 12.06.2012
Сообщений: 19,834
Завершенные тесты: 1
16.01.2014, 23:00     Считать файл в переменную типа char, и работать посимвольно #10
NekoNee,
арозаупаланалапуазорааздесьещепарасловавотипалиндромвстречайтешалашвотонгдетотутсовсемрядом ещеоднодлинноесловосостоящееизнесколькихнасамомделе
Вы можете ответить, сколько здесь слов? Два? Десять? "арозаупаланалапуазора" - это палиндром? Или это шесть разных "слов"? Как можно решать задачу, если неизвестны даже разделители? Можно написать функцию, в которую передавать разделитель. А если необходимо будет разделять не по какому-то конкретному символу (пробел, точка, запятая и т.п.), а по количеству символов? Конечно, c++ позволяет и это, но то ли требуется и примет ли ваш преподаватель подобный код (с перегрузкой или шаблонами, например)?
Yandex
Объявления
16.01.2014, 23:00     Считать файл в переменную типа char, и работать посимвольно
Ответ Создать тему
Опции темы

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