char *start,prog;
[SIZE=2][COLOR=#0000ff]start = new char[MAX_PROG_SIZE];
if[/COLOR][/SIZE][SIZE=2]([COLOR=#0000ff]start==[/COLOR][/SIZE][SIZE=2]NULL)
{
printf("FATAL ERROR:No memory"); [/SIZE][SIZE=2][COLOR=#008000]// неудалось выделить память под программу
[/COLOR][/SIZE][SIZE=2]exit(1);
}
prog=start;
[/SIZE]
[SIZE=2]FILE *fp;
[/SIZE][SIZE=2][COLOR=#0000ff]int[/COLOR][/SIZE][SIZE=2] i=0;
fp=fopen(name,"rb"); /// тут открываем файл с заданным именем
[/SIZE][SIZE=2][COLOR=#0000ff]if[/COLOR][/SIZE][SIZE=2](fp==NULL) sntx_err(FILE_NULL); // если неможем открыть то выводим //ошибку
else{
[/SIZE][SIZE=2][COLOR=#0000ff]do
[/COLOR][/SIZE][SIZE=2]{
[/SIZE][SIZE=2][COLOR=#0000ff]char[/COLOR][/SIZE][SIZE=2] ch=getc(fp);
*prog=ch;
prog++;
} [/SIZE][SIZE=2][COLOR=#0000ff]while[/COLOR][/SIZE][SIZE=2](!feof(fp));
[/SIZE]}
Чтение из файла
алгоритм:
Открытие файла с текстом и отображение его в память; открытие файла со словами и выделение под него соответствующего объема памяти; копирование заменяемых слов в память; организация поиска заменяемых слов в основном файле и замена на фиксированную последовательность.
Открываешь файл при помощи
Код:
Что-то вроде вот такого, тут мы считали файл в компьютер. Ну а дальше веди поиск =) циклом while, можешь влоб искать, а можешь воспользоваться алгоритмами поиска различными....
Какие фразы, точнее как их загрузить из другого файла? А все так же, тем же самым способом, грузи их в структуру и ищи =).
Код:
FILE *file;
file = fopen("Имя файла","r");
int result = 0;
char buffer[128];
while(1)
{
result = fscanf(file, "*%s", buffer); //считываем слово из файла в буфер
if(result == EOF)
break;
if(stricmp(buffer, "Нужное слово для сравнения") == 0)
{
//если слово, считаное из файла совпадает с нужным
//нам словом, то делаем необходимые действая...
//например записываем его в результирующий файл...
fprintf(Переменная, связаная с результирующим файлом,"%s",buffer);
continue;
}
}
file = fopen("Имя файла","r");
int result = 0;
char buffer[128];
while(1)
{
result = fscanf(file, "*%s", buffer); //считываем слово из файла в буфер
if(result == EOF)
break;
if(stricmp(buffer, "Нужное слово для сравнения") == 0)
{
//если слово, считаное из файла совпадает с нужным
//нам словом, то делаем необходимые действая...
//например записываем его в результирующий файл...
fprintf(Переменная, связаная с результирующим файлом,"%s",buffer);
continue;
}
}
В данной задаче проще считать целиком весь файл а затем вести поиск, вдобавок этот вариант будет считывать инфу построчно,если не ошибаюсь, а если вести нада поиск по фразе и одна часть фразы на одной строке, а другая на другой =)