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

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

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

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

16.01.2014, 21:35. Просмотров 739. Ответов 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; 
...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2014, 21:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Считать файл в переменную типа char, и работать посимвольно (C++):

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

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

Есть переменная типа char содержащая цифру; как записать это значение в переменную типа int? - C++
Пожалуйста, напомните стандартную функцию

Очистить переменную типа char * - C++
Привет. Тупит код: char *rt; int port=4; rt=&quot;COM&quot;; char temp1; //временная перем. ...

Как сравнить переменную типа char - C++
нужно найти элементы типа char различные от нуля, программу я написал, а вот не получается сравнивать #include &lt;iostream&gt; #include...

Ввод символов в переменную типа char - C++
Почему после ввода больше 1-го символа выбивает default? #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; using...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MrGluck
Модератор
Эксперт CЭксперт С++
7210 / 4376 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
16.01.2014, 21:39 #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
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
16.01.2014, 21:39 #3
NekoNee, Количество символов = strlen(pro); Соответственно последний символ это pro[strlen(pro) - 1]
Это в теории, конечно если вы правильно считаете все с файла
MrGluck
Модератор
Эксперт CЭксперт С++
7210 / 4376 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
16.01.2014, 21:44 #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  [ТС] #5
MrGluck, то есть, считывать надо не в char, а в string?
MrGluck
Модератор
Эксперт CЭксперт С++
7210 / 4376 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
16.01.2014, 22:06 #6
Цитата Сообщение от NekoNee Посмотреть сообщение
MrGluck, то есть, считывать надо не в char, а в string?
все зависит от того, что мы хотим далее с этим делать
NekoNee
0 / 0 / 0
Регистрация: 11.01.2014
Сообщений: 16
16.01.2014, 22:16  [ТС] #7
MrGluck, надо считать из файла, потом каждое слово проверить на палиндромность (т.е. оно должно одинакого читаться и с начала и с конца), если слово - палиндром, записать его в файл, ну и потом вывести все палиндромы, которые содержатся в этом файле. вот.
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16695 / 6621 / 431
Регистрация: 12.06.2012
Сообщений: 19,875
Завершенные тесты: 1
16.01.2014, 22:20 #8
NekoNee, а какой формат данных в файле?

Не по теме:

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

NekoNee
0 / 0 / 0
Регистрация: 11.01.2014
Сообщений: 16
16.01.2014, 22:23  [ТС] #9
KOPOJI, просто текст, абстрактный. хоть отрывок из Пиноккио. это уж что препод воткнет)
KOPOJI
Модератор
Эксперт HTML/CSSЭксперт PHP
16695 / 6621 / 431
Регистрация: 12.06.2012
Сообщений: 19,875
Завершенные тесты: 1
16.01.2014, 23:00 #10
NekoNee,
арозаупаланалапуазорааздесьещепарасловавотипалиндромвстречайтешалашвотонгдетотутсовсемрядом ещеоднодлинноесловосостоящееизнесколькихнасамомделе
Вы можете ответить, сколько здесь слов? Два? Десять? "арозаупаланалапуазора" - это палиндром? Или это шесть разных "слов"? Как можно решать задачу, если неизвестны даже разделители? Можно написать функцию, в которую передавать разделитель. А если необходимо будет разделять не по какому-то конкретному символу (пробел, точка, запятая и т.п.), а по количеству символов? Конечно, c++ позволяет и это, но то ли требуется и примет ли ваш преподаватель подобный код (с перегрузкой или шаблонами, например)?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2014, 23:00
Привет! Вот еще темы с ответами:

Занести число в переменную, типа char - C++
char a; cin&gt;&gt;a; a=3; Тут при чтении с клавы мы считываем символ , т.е. если я введу 3, то а будет равно 3, а при присваивании а =...

Передать переменную типа char по ссылке - C++
доброго времени суток. помогите над очень простым задание из одной книги. Создайте функцию, которая получает аргумент char&amp; и...

Не могу обнулить переменную типа char - C++
Доброго времени суток, помогите обнулить переменную, т.к. мой компилятор ругается &quot;E2277 Lvalue required&quot; char inBuffer; ...

Переменную типа char представить в виде 8 битов - C++
У меня есть символ a. char x = 'a'; = 1 байту. Тоесть 8 битам. Как мне получить символ a в битовом представлению? Тоесть a=....


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.01.2014, 23:00
Ответ Создать тему
Опции темы

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