2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Работа с текстом в файлах (С++):)
Сообщение29.11.2015, 02:09 


10/10/14

54
Russia
Приветствую! Друзья, может кто-то рассказать (или дать ссылку) вот о чём -- мне нужно использовать все возможности работы с символами как в консоли, только в файле,т.е. :
Задача
Считать текст из файла и выводит на экран предложения, содержащие заданное слово.
Моя идея:(Считывание предл.)
Т.к. вообще ни разу не сказано, что предложение помещается в 256, то:
1.Открываю файл. Встаю (т.е. ставлю каретку) в начало.
2. Пока промежуточный символ t не символ конца предложения -- увеличиваю счётчик m. (Понятно, что как только всё -- у меня есть длина предложения.)
3. Если m<256, то откатываюсь на m назад и (вот тут-то и проблема) -- делаю
Используется синтаксис C++
F.getline(str,m)
. А если больше --- организую в куче m- вектор и (опять же после сдвига) -- пишу в него.
В сети (тут-https://rsdn.ru/forum/cpp/1562109.flat) нашёл этот символ: "\b". Но там его можно только вручную и на консоли... Можете помочь?
Пока мой код таков:
код: [ скачать ] [ спрятать ]
Используется синтаксис C++
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <conio.h>
#include <string>
#include <sstream>
using namespace std;

int main(int argc, char *argv[])
{ifstream F;
F.open("Text.txt",ios::in);
char t='0';
string STR [1000];
string* Po [1000];
unsigned int k=0;
bool end=true;
cout<<"T= "<<t;
if(F)
     {unsigned long int m=0;
      while((t!='.')&&(t!='?')&&(t!='!')) {m++;/*cout<<"T= "<<t<<endl;*/F>>t;/*cout<<"T= "<<t<<endl;system("pause");*/};
      F<<endl;
      cout<<"M= "<<m;
      if(m<256) F.getline(STR[k];m);}
      else cout<<"File not exists!";
    system("PAUSE");
    return EXIT_SUCCESS;
}

 Профиль  
                  
 
 Re: Работа с текстом в файлах (С++):)
Сообщение29.11.2015, 10:23 
Заслуженный участник
Аватара пользователя


19/12/10
1546
Герберт Шилдт "Полный справочник по С++" Глава 21.

Видимо, вас интересует функция seekg(). В книге, правда, опечатка. На странице 451 вместо
Код:
ios::beg Начало файла
ios::beg Текущее положение
ios::end Конец файла
должно быть
Код:
ios::beg Начало файла
ios::cur Текущее положение
ios::end Конец файла

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group