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

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

Восстановить пароль Регистрация
 
NekoNee
 Аватар для NekoNee
0 / 0 / 0
Регистрация: 11.01.2014
Сообщений: 16
16.01.2014, 21:35     Считать файл в переменную типа char, и работать посимвольно #1
считать файл в переменную типа 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; 
...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2014, 21:35     Считать файл в переменную типа char, и работать посимвольно
Посмотрите здесь:

C++ Как сравнить переменную типа char
C++ Не могу обнулить переменную типа char
C++ Очистить переменную типа char *
Сложение массива типа char в одну переменную C++
C++ Как вернуть переменную типа char * из функции
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4926 / 2669 / 243
Регистрация: 29.11.2010
Сообщений: 7,425
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
 Аватар для cooller
564 / 532 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
16.01.2014, 21:39     Считать файл в переменную типа char, и работать посимвольно #3
NekoNee, Количество символов = strlen(pro); Соответственно последний символ это pro[strlen(pro) - 1]
Это в теории, конечно если вы правильно считаете все с файла
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4926 / 2669 / 243
Регистрация: 29.11.2010
Сообщений: 7,425
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
 Аватар для NekoNee
0 / 0 / 0
Регистрация: 11.01.2014
Сообщений: 16
16.01.2014, 21:44  [ТС]     Считать файл в переменную типа char, и работать посимвольно #5
MrGluck, то есть, считывать надо не в char, а в string?
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4926 / 2669 / 243
Регистрация: 29.11.2010
Сообщений: 7,425
16.01.2014, 22:06     Считать файл в переменную типа char, и работать посимвольно #6
Цитата Сообщение от NekoNee Посмотреть сообщение
MrGluck, то есть, считывать надо не в char, а в string?
все зависит от того, что мы хотим далее с этим делать
NekoNee
 Аватар для NekoNee
0 / 0 / 0
Регистрация: 11.01.2014
Сообщений: 16
16.01.2014, 22:16  [ТС]     Считать файл в переменную типа char, и работать посимвольно #7
MrGluck, надо считать из файла, потом каждое слово проверить на палиндромность (т.е. оно должно одинакого читаться и с начала и с конца), если слово - палиндром, записать его в файл, ну и потом вывести все палиндромы, которые содержатся в этом файле. вот.
KOPOJI
Модератор
 Аватар для KOPOJI
16242 / 6453 / 390
Регистрация: 12.06.2012
Сообщений: 19,355
16.01.2014, 22:20     Считать файл в переменную типа char, и работать посимвольно #8
NekoNee, а какой формат данных в файле?

Не по теме:

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

NekoNee
 Аватар для 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*

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

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

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