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

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

Войти
Регистрация
Восстановить пароль
 
dasha_koks
5 / 5 / 1
Регистрация: 24.06.2010
Сообщений: 19
#1

Прочитать текстовый файл и вывести из него только цитаты - C++

24.06.2010, 22:45. Просмотров 943. Ответов 10
Метки нет (Все метки)

Есть задание
Написать программу, которая считывает текст из файла и выводит на экран только цитаты.

Вот прога:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <fstream>
#include <iostream>
using namespace std;
int main ()
{ 
ifstream ifin ("inputtext.txt",ios::in);
if (!ifin) {
cout <<"File inputtext.txt ne naiden"<<endl;
return 1;
}
ifin.seekg(0, ios::end); // перемещ.позицию чтения на последн.символ
long leng= ifin.tellg();
char *buf_t=new char[leng +1]; // на 1 байт больше,чтобы записать 0-символ
ifin.seekg(0,ios::beg);
ifin.read(buf_t,leng);
buf_t[leng +1]='\0';
long nkav=-1,i=0; 
while (buf_t[i]) {
if(buf_t[i]=='"') {
if (nkav==-1) // признак первой кавычки (начала цитаты)
nkav=i ; // позиция первой кавычки
else // вторая кавычка
{ 
for(long j=nkav; j<=i; j++)
cout<<buf_t[j];
cout<<"\n";
nkav=-1; // подготовка к поиску следующей цитаты
} }
i++; 
}
return 0;
}
Помогите, вот что это такое
ifin.seekg(0, ios::end);
точнее Препод спросил какую текущую позицию чтения мы устанавливаем в значение, откуда мы ее берем??????
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2010, 22:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Прочитать текстовый файл и вывести из него только цитаты (C++):

Открыть текстовый файл, дозаписать в него данные, вывести содержимое файла (файловый ввод/вывод) - C++
Открыть текстовый файл 1.txt, имя файла указывается в командной строке. Дозаписать в него данные. Вывести содержимое файла 1.txt построчно.

Cчитать текст из файла и вывести на экран только цитаты - C++
Написать программу, которая считывает текст из файла и выводит на экран только цитаты, то есть предложения, заключенные в кавычки.

Вывести на экран только цитаты, то есть предложения в кавычках - C++
После ввода с клавиатуры произвольного текста,вывести на экран только цитаты, то есть предложения, помещенные в скобки.

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

Как правильно прочитать текстовый файл с помощью ReadFile? - C++
Как правильно прочитать текстовый файл с помощью ReadFile и сделать каждую новую строчку переменной?(нужно 4 строчки) Добавлено...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
24.06.2010, 22:47 #2
ifin.seekg(0, ios::end); - устанавливаем указатель на нулевую позицию
ifin.seekg(0, ios::end); - относительно конца файла
1
dasha_koks
5 / 5 / 1
Регистрация: 24.06.2010
Сообщений: 19
24.06.2010, 22:49  [ТС] #3
она спросит откуда берется указатель?
0
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
24.06.2010, 22:53 #4
Какой указатель?
1
dasha_koks
5 / 5 / 1
Регистрация: 24.06.2010
Сообщений: 19
24.06.2010, 22:53  [ТС] #5
ifin.seekg(0, ios::end); - устанавливаем указатель на нулевую позицию
0
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
24.06.2010, 22:55 #6
Хорошо, можешь это назвать "текущая позиция в файле".
1
dasha_koks
5 / 5 / 1
Регистрация: 24.06.2010
Сообщений: 19
24.06.2010, 22:56  [ТС] #7
откуда берется текущая позиция чтения?
0
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
24.06.2010, 23:10 #8
Ниоткуда не берется, текущая позиция устанавливается на начало файла при его открытии, и смещается автоматически на количество считанных\записанных байт. Функция seek изменяет туекущую позицию так, как этого захочет программист.
1
dasha_koks
5 / 5 / 1
Регистрация: 24.06.2010
Сообщений: 19
25.06.2010, 00:37  [ТС] #9
а можете сказать как это называется???:

while (buf_t[i]) {
if(buf_t[i]=='"') {

если что buf_t[i] этотекущий символ при просмотре массива buf_t
0
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
25.06.2010, 00:40 #10
Цитата Сообщение от dasha_koks Посмотреть сообщение
while (buf_t[i])
пока buf_t[i] имеет не нулевое значение, если buf имеет тип char, то пока не равен '\0'

Цитата Сообщение от dasha_koks Посмотреть сообщение
if(buf_t[i]=='"')
если buf_t[i] равен (скорее всего) пробелу, то ...
1
dasha_koks
5 / 5 / 1
Регистрация: 24.06.2010
Сообщений: 19
25.06.2010, 00:44  [ТС] #11
все ясно))
спасибо огромное))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2010, 00:44
Привет! Вот еще темы с ответами:

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

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

Сформировать текстовый файл, записав в него 20 случайных чисел - C++
1.Сформировать текстовый файл, записав в него 20 случайных чисел от –10 до +10, по одному на строке Здесь все нормально работает: ...

Дан непустой текстовый файл. Удалить из него первую строку - C++
Дан непустой текстовый файл. Удалить из него первую строку. на С++


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

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

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