уважаемые форумчане, прошу подсказать где моя ошибка
#include "stdafx.h" // незнаю зачем
#include <stdio.h>
#include <string.h>
#include <iostream>
//#include <string>
using namespace std;
int main ()
{
char stf[255] = "URL: rtsp:"; // stf - что ищем
char fpath[255] = "c:\\3"; //fpath - путь к файлу
char str[15000]; //str - для поиска в строке (пока не требуеться)
char *c; // РЕЗУЛЬТАТ ПОИСКА
FILE * file; //файл
//int i=0;
str[0]='\0';
cout << fpath << endl;
file = fopen(fpath, "r+");
while( file == NULL ) // если файл не найден ввод с клавиатуры
{
cout << endl << "Wrong!" << endl << "Enter exist file location: ";
gets(fpath);
cout << endl;
file = fopen(fpath, "r+");
}
/*cout << "Enter text to find: ";
gets(stf); //ввод с клавиатуры сочетания поиска при необходимости*/
cout << endl;
while (!feof(file))
{
fgets(str, 15000, file);
c = strstr (str, stf);
}
if (c == NULL)
cout<<"The word is NOT in the file!"<<endl;
else
cout<<"The word is in the file!"<<endl;
cout<<c;
fclose(file);
gets(fpath); //пауза
return 0;
}
вот нашел и надеялся мне круто повезло, но:
Функция fgets читает строку из входного потока stream и
располагает ее в string. Символы считываются, начиная с текущей
позиции stream, до символа новой строки '\n' или до конца потока,
либо пока число считанных символов не станет равным n-1. Резуль-
тат размещается в string, а затем к нему добавляется символ null
-'\0'. Символ новой строки также включается в string. Если в нача-
ле считывания n равнялось 1, то string будет пустой (""). Функция
fgets аналогична библиотечной функции gets, однако, gets заменяет
символ новой строки нулевым символом.
почемуто в файле с содержанием
Message: info: MIDlet requests that the device handle the following URL: rtsp://r2---sn-4g57kued.googlevideo.com/1/video.3gp
org.microemu.app.Common$2.run(Common.java:476)
програма дает ошибку, видимо или невидит или не обращат внимание на конец строки, а может в файле у меня его нет... както можно обойти проблему чтобы брала только ссылку?