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

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

Войти
Регистрация
Восстановить пароль
 
xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,174
Записей в блоге: 1
#1

Как считать текст до нужного символа? - C++

11.09.2013, 16:13. Просмотров 1008. Ответов 12
Метки нет (Все метки)

Код
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void Obrabotka()
{
    ofstream out_file("out.txt");
    file.open("text.txt");
    char c;
    while(!file.eof())
    {
        file>>c;
        if(c!='>') out_file<<c;     
    }
    out_file.close();
    file.close();
}


Файл
Кликните здесь для просмотра всего текста

<html>
<header><title>This is title</title></header>
<body>
Hello world
</body>
</html>


Как начать считывать текст от символа '>' до '<'?

Добавлено через 1 минуту
Тоесть в итоге должно получиться This is title и Hello World, насчет пробелов разбируюсь позднее

Добавлено через 1 час 12 минут
А такое в C++ возможно?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2013, 16:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как считать текст до нужного символа? (C++):

Как правильно считать текст из файла? Весь текст, со всеми знаками, пробелами - C++
подскажите, чет затупил как правильно считать текст из файла(весь текст со всеми знаками пробелами и т.д.), чтобы поработать с этим текстом...

Как считать в цикле файл до символа перевода каретки? - C++
как считать файл до символа перевода каретки '\n', сделав всё это в цикле?

Как считать текст из файла в С++? - C++
Подскажите пожалуйста, как считать текст из файла в массив типа char в С++? Заранее спасибо!

Как считать текст с файла ? - C++
Как считать текст с файла (например .txt) а потом в другой пустой файл записать текст с первого документа?

как считать текст из файла в С++? - C++
Подскажите пожалуйста, как считать текст из файла в массив типа char в С++? Заранее спасибо!

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
kent
Нуб со стажем
36 / 34 / 2
Регистрация: 19.02.2012
Сообщений: 118
11.09.2013, 16:35 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
bool isReading = false;
while(!file.eof())
{
    file>>c;
    if(c == '>') {
        isReading = true;
    } else if(c == '<') {
        isReading = false;
    }  else {
 
        if(isReading) { out_file << c; }
 
    }   
}
1
Raali
11.09.2013, 16:54
  #3

Не по теме:

Цитата Сообщение от GoldDragon Посмотреть сообщение
А такое в C++ возможно?
это был троллинг?

0
xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,174
Записей в блоге: 1
11.09.2013, 17:21  [ТС] #4

Не по теме:

Цитата Сообщение от Raali Посмотреть сообщение

Не по теме:

это был троллинг?

как бы да), хотел темку немного приподнять



Добавлено через 1 минуту
Уважаемый kent что вы можете предложить для ввода данных в поток заместо << так как этот оператор как я понял, почему то пропускает пробелы...
0
Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
11.09.2013, 17:26 #5
GoldDragon, я могу предложить Вам, функции get(), read(), getline() и вот эту статейку.

Добавлено через 1 минуту
и ещё gcount();
1
xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,174
Записей в блоге: 1
11.09.2013, 23:53  [ТС] #6
спс. Я только что ответ нашел через get, в страуструпе прочел. и тут вы тоже самое написали). Ок статейку прочту)

Добавлено через 6 часов 22 минуты
Возник вопрос насчет функции get, вообщем когда записываешь символ, то курсор сдвигается на 1 пункт вперед.
Допустим есть слово Hello, и 2 переменные char a и b.
get(a); //Тут запишется символ 'H'
get(b); // а тут 'e'
как сделать чтобы сдвиг курсора не использовался, глянул в функцию get, там так и написано что при присваивании значение получится сдвиг через EOF. хотел узнать можно как нибудь записывать в переменную b предпоследний символ, а в переменную c предпредпоследний символ???
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.09.2013, 06:10 #7
Цитата Сообщение от GoldDragon Посмотреть сообщение
как сделать чтобы сдвиг курсора не использовался,
Зачем?
Цитата Сообщение от GoldDragon Посмотреть сообщение
там так и написано что при присваивании значение получится сдвиг через EOF
Что за "сдвиг через EOF"?
Цитата Сообщение от GoldDragon Посмотреть сообщение
как нибудь записывать в переменную b предпоследний символ, а в переменную c предпредпоследний символ???
А последний какой? Любой? Способов много. Записать при последовательном чтении из файла? Или открыть файл, записать два символа перед последним?
0
xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,174
Записей в блоге: 1
12.09.2013, 09:56  [ТС] #8
Вообщем я хочу записать: Hello
A=H
B=e
C=l
а после это все сдвинулось на одно слово тоесть стало вот так
A=e
B=l
C=l
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.09.2013, 10:00 #9
Цитата Сообщение от GoldDragon Посмотреть сообщение
а после это все сдвинулось
C++
1
2
A = B;
B = C;
0
xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,174
Записей в блоге: 1
12.09.2013, 10:06  [ТС] #10
я пробывал так, максимум смогу держать в памяти только текущий символ и предыдущий...
щас код выложу

Добавлено через 24 секунды
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
char c;
    char b=0;
    char a=0;
    while(!file.eof())
    {
        file.get(c);
        if(c=='>'&&b=='"') sReading=true;
        else if(c=='<') sReading=false;
        else if(sReading) out_file<<c;
        cout<<a<<b<<c;
        b=c;
        system("pause");


Добавлено через 33 секунды
тут переменная a не взаимодействована...только b и c

Добавлено через 22 секунды
в 'c' текущий символ в 'b' предыдущий
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.09.2013, 10:14 #11
Вы символы сразу не записывайте в файл, а добавляйте, например, в string. Когда всё считаете из файла, то делайте со string всё, что вам хочется (переставляйте символы, удаляйте символы и т.д.), а потом уже записывайте string в файл.
0
xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,174
Записей в блоге: 1
12.09.2013, 10:27  [ТС] #12
Хорошо попробуем, спасибо за идею)
0
xTIGRx
292 / 198 / 2
Регистрация: 23.10.2010
Сообщений: 1,174
Записей в блоге: 1
13.09.2013, 13:16  [ТС] #13
String str="Hello World";
Как проверить в str первые 5 букв...

Добавлено через 9 секунд
???
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.09.2013, 13:16
Привет! Вот еще темы с ответами:

Как можно считать из файла большой текст? - C++
Как можно считать из файла большой текст? Просто если я использую обычный массив a, то программа зависает.

Если в тексте нет символа +, то оставить текст без изменения, иначе каждую из цифр, предшествующую первому вхождению символа +, заменить символом - - C++
Дан текст. Если в тексте нет символа +, то оставить текст без изменения, иначе каждую из цифр, предшествующую первому вхождению символа +,...

Как считать из файла текст в виде последовательности битов? - C++
Пишу курсовую: реализация алгоритма СRC32. Надо считать текст из файла (в файле текст из слов) так, чтобы получилась последовательность...

Как считать текст из файла несколько раз подряд в программе? - C++
В общем, делал упражнение и у меня программа коряво написана так, что получается нужно использовать текст файла несколько раз, но я не знаю...


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

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

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