aktualizacja danych w pliku html - potrzebne szybka pomoc

0

Mam do napisania program na podstawie następujących wytycznych. Program ma wczytywać znak po znaku i znajdować w ciągu tag początkowy i tag końcowy html podany przez użytkownika. Pomiędzy te tagi ma wstawiać nowy tekst nie dłuższy od poprzedniego, który także będzie podawany przez użytkownika.

Koncepcja jest taka: wczytuje znak po znaku z pliku, jeżeli pierwszy znak taga jest równy z wczytanym znakiem, wczytuje kolejne porównując go z kolejnymi znakami taga, aż do znalezienia pełnego wyrazu. Potem tą samą metodą należy wyszukać drugi tag, zaczynając od końca poprzedniego. Ogólnie mam nadzieje, że zrozumieliście o co mi chodzi.

Co mam:

#include <stdio.h>
#include <string.h>
int main ()
{
  FILE * pFile,*outfile;
  int c;
  int n = 0;
char ft;
//char lt;
  pFile=fopen ("c://calculator//mp.txt","r");
outfile=fopen("c://calculator//out.txt","w");
  if ((pFile==NULL) && (outfile==NULL)) {
		printf("Error opening file\n");}
  else
  {
	
		printf("plz put the first tag\n");
		scanf("%c",&ft);
		//printf("plz put the last tag\n");
		//fflush(stdin);
		//scanf("%c",&lt);

    do {
      c = fgetc (pFile);
   putchar(c);
		if(c!=ft){
				fputc(c,outfile);
}
else{
	
				
				}
			 n++;
    } while (c != EOF);
    fclose (pFile);
	fclose(outfile);

    //printf ("File contains %dj.\n",n);
  
}
  return 0;
}

Za bardzo nie wiem co zrobić dalej, proszę o pomoc. To dość pilna sprawa.

0
#include <stdio.h>
#include <string.h>
#define  SEARCH 0
#define COMPARE 1
#define COPY 2
int main ()
{
  FILE * pFile,*outfile;
  int c, state;
  int n = 0;
char ft[255];
char lt[255];
char *user_text;
  pFile=fopen ("c://calculator//mp.txt","r");
outfile=fopen("c://calculator//out.txt","w");
  if ((pFile==NULL) && (outfile==NULL)) {
  printf("Error opening file\n");}
  else
  {
 
  printf("plz put the first tag\n");
  gets(ft);
  printf("plz put the last tag\n");
  gets(lt);
printf("%s\n%s",ft,lt);
 
do{
  c=fgetc(pFile);
  putchar(c);
  state=SEARCH;
  switch (state){
   case(SEARCH):
    search:
    if(c=ft){
     n++;
    goto compare;}
     else{
      goto copy;}
   case(COPY):
    copy:
     fputs(c,outfile);
     n++;
     goto search;
   case(COMPARE):
     compare:
     if(ft=EOF){
      printf("put a text\n");
      gets(user_text);
      search1:
        if(c=lt){
         n++;
         goto compare;}
        else{
         goto copy;}
 
      copy1:
        fputc(c,outfile);
        n++;
        goto search;
      
 
      if(lt==EOF){
         goto search1;}
        else{
         n++;
         goto copy1;}
 
 
 
 
 
       
     }
   default:
     printf("error\n");
    }
    
}
  while(c!=EOF);
 }
fclose(pFile);
fclose(outfile);
 return 0;
}

Pewna zmiana koncepcji z mojej strony i teraz wydaje mi się iż chyba jest dobrze, jednak mam problemy z kilkoma errorami. Ktoś ma jakieś sugestie ? Z góry dzięki za pomoc !

1 użytkowników online, w tym zalogowanych: 0, gości: 1