2014 dxdy logo

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

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




 
 Работа с текстом в файлах (С++):)
Сообщение29.11.2015, 02:09 
Приветствую! Друзья, может кто-то рассказать (или дать ссылку) вот о чём -- мне нужно использовать все возможности работы с символами как в консоли, только в файле,т.е. :
Задача
Считать текст из файла и выводит на экран предложения, содержащие заданное слово.
Моя идея:(Считывание предл.)
Т.к. вообще ни разу не сказано, что предложение помещается в 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 
Аватара пользователя
Герберт Шилдт "Полный справочник по С++" Глава 21.

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

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group