Показать сообщение отдельно

  #8  
Старый 22.11.2009, 10:48
[Dead]Demon
Участник форума
Регистрация: 07.10.2009
Сообщений: 100
Провел на форуме:
135161

Репутация: 8
Отправить сообщение для [Dead]Demon с помощью ICQ
По умолчанию

Нужна ваша помощь... Есть задача по поводу работы со строками:
"Из текстового файла неизвестного размера вывести на экран все предложения, не содержащие запятых." Есть код по по поиску и вводу предложений с вопросительным знаком, они вроде и похожи, но как не пытался под свою изменить - не получается (пишу на Turbo C++), вот её код:

Код C++

#include <windows.h>
#include <conio.h>
#include <stdio.h>
#include <iostream>
#include <string>
using namespace std;

char bufRus[256];
char* Rus(char* mes)
{ AnsiToOem(mes, bufRus);
return bufRus;
}
int main(void)
{ char ch[2]; FILE * f;
f=fopen("D:\\FileTXT\\text2.txt","r");
if (f == NULL)
{ cout << Rus("Файл не найден!\n");
getch(); return 1;
}

// определяем длину файла

fseek(f,0,SEEK_END); long len=ftell(f);

// выделяем буфер необходимого размера

char *buf=new char[len+1];

// смещаем указатель на начало файла и
// считываем файл в буфер

fseek(f,0,SEEK_SET);
fread(buf, len,1, f); buf[len]='\0';
// выделение предложений из текста
long n = 0; // позиция начала предложения
long i=0, j=0, kol=0;
while(buf[i])
{ if (buf[i]== '?')
{ //вывод символов вопросительного предложения
for(j=n; j<=i;j++)
{ch[0]=buf[j]; ch[1]='\0';
cout << Rus(ch);
} kol++;
n=i+1;
}
if (buf[i]=='.' || buf[i]== '!') n=i+1;
i++;
} fclose(f); cout << endl;
cout << "\n kol = " << kol;
cout << Rus("\n Для выхода нажмите <Enter>:");
getch(); return 0;
}

помогите разобраться
 
Ответить с цитированием