Другие языки программирования и технологии

C++ Файлы

#include <iostream>
#include <fstream>

using namespace std;

#define N 121
#define M 25

void main()
{
do
{
setlocale(LC_CTYPE, "Russian_Russia.1251");

char str[N];
char word[M];

FILE *f;

if((f = fopen("file.txt", "r")) == NULL)
{
cout << " Невозможно открыть файл! ";
fflush(stdin);
cin.get();
return;
}

cout << " Введите слово: ";
cin >> word;
cout << endl;

while (fgets(str, N, f) != NULL) if (strstr(str, word) != NULL) puts(str);

fclose(f);
fflush(stdin);
cin.get();
system("cls");
}
while (true);
}

Файл сделайте числовой:

1234 5678 9012 3456 7890
2345 6789 0123 4567 8901
3456 7890 1234 5678 9012
4567 8901 2345 6789 0123
5678 9012 3456 7890 1234
6789 0123 4567 8901 2345
7890 1234 5678 9012 3456
8901 2345 6789 0123 4567
9012 3456 7890 1234 5678
0123 4567 8901 2345 6789
Eugene Krupko
Eugene Krupko
96 444
Лучший ответ
Имя текстового файла задаётся в командной строке

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int cmp(string& s,char* p,int k)
{ int j,r=1;
for(j=0;j < s.size();j++) if(s[j]!=p[k+j]) { r=0; break; }
return r;
}

int main(int mn,char** nm)
{
char* p;
string s;
unsigned j,k,size,u=0,ind;
if(mn!=2) { cerr << "Запуск программы: " << nm[0] << " text.txt\n"; return 1; }
ifstream in(nm[1],ios::binary); if(!in) { cerr << "Файл \"" << nm[1] << "\" не найден! \n"; return 1; }
in.seekg(0,ios::end),size=in.tellg(),in.seekg(0,ios::beg);
p=new char[size+1]; in.read(p,size); p[size]=0; in.close();
cout << "Введите слово: "; cin >> s;
for(ind=j=0;j < size;j++)
{
if(p[j]=='.')
{
if(ind) { for(k=u;k < j;k++) cout << p[k]; cout << ".\n"; ind=0; }
u=j+1;
}
if(cmp(s,p,j)) ind=1;
}
delete [] p;
return 0;
}