Textdatei durchsuchen ausgeben

Ups das geht so wohl nicht tut mir leid.. :)

ich habs jetzt mal so gemacht das er wenn er keine zeichen mehr macht also cnt =0 ist er rausspringen soll.. geht sicherlich eleganter.. aber hoffe einen Denkanstoss oder vorrübergehende Lösung geliefert zu haben :D

Code:
{

   FILE *fp;
   int i;
   char text[255];
   char suchwort[2][20]={"benni","hallo"};
   int AnzahlSuchwoerter=2;
   char* ptr;

   fp = fopen ("c:\\test.txt","rt");
   if (fp==NULL)
   {
      printf("Fehlen von diso_b_text.ini\r\n");
   }
   else
   {

      while ( 1)
      {

         fgets(text,255, fp);

         for (i=0; i<=AnzahlSuchwoerter; i++)
         {
            ptr = strstr (text,suchwort[i]);
            if ( ptr != NULL )
            {
               printf("%s ",suchwort[i]);
               printf("%s\r\n",text);

            }
         }
      if(0==fp->_cnt)
         break;
      }
   }
}
 
Das müsste ein Membervariable von dem FILE Objekt sein.. wieso der das jetzt ent mag is mir schleierhaft..


EDIT:

So müsste es nun gehen^^
Code:
void neue_Funktion()
{
   FILE *fp;
   int i;
   char text[255];
   char suchwort[2][20]={"benni","hallo"};
   int AnzahlSuchwoerter=2;
   char* ptr;

   fp = fopen ("c:\\test.txt","rt");
   if (fp==NULL)
   {
      printf("Fehlen von diso_b_text.ini\r\n");
   }
   else
   {

      while ( NULL!=fgets(text,255, fp))
      {

         

         for (i=0; i<=AnzahlSuchwoerter; i++)
         {
            ptr = strstr (text,suchwort[i]);
            if ( ptr != NULL )
            {
               printf("%s ",suchwort[i]);
               printf("%s\r\n",text);

            }
         }
     
      }
   }
}
 
Zuletzt bearbeitet:
jop soll es^^

Code:
void neue_Funktion()


{
   FILE *fp,*datei;
   int i;
   char text[255];
   char suchwort[2][20]={"benni","hallo"};
   int AnzahlSuchwoerter=2;
   char* ptr;


   	fp = fopen ("d:\\test.cfg","rt");
   	if (fp==NULL)
   {
      		printf("Fehlen von diso_b_text.ini\r\n");
   }
   	else
   {

      	while ( NULL!=fgets(text,255, fp))
   {

         

         	for (i=0; i<=AnzahlSuchwoerter; i++)
   {
            		ptr = strstr (text,suchwort[i]);
            	if ( ptr != NULL )
   {
                              	printf("%s\r\n",text);


     	 }
          }     
    }
   fgets(text,255,fp);
   datei = fopen ("d:\\kopie.txt","a");
   fputs (text,datei);
   fclose (datei);
  }
}

hab da wieder ein prob^^

wie bekomme ichs hin das nur das was gesucht wurde in der textdatei steht? und eventuell auch das man die textdatei im programm anlegt. hatte zwar was mit scanf sollte eigentlich auch en geht aber irgendwie net da er kein scanf kennt
 
habs soweit

Code:
void neue_Funktion1()


{
   FILE *fp,*datei;
   int i;
   char text[255];
   char suchwort[2][20]={"DPSUBSYSTEM","SYMBOL"};
   int AnzahlSuchwoerter=2;
   char* ptr;


   	fp = fopen ("d:\\testx.cfg","rt");
   	if (fp==NULL)
   {
      		printf("Fehlen von diso_b_text.ini\r\n");
   }
   	else
   {

      	while ( NULL!=fgets(text,255, fp))
   {

         datei = fopen ("d:\\kopie.txt","a"); 


         	for (i=0; i<=AnzahlSuchwoerter; i++)
   {
            		ptr = strstr (text,suchwort[i]);
            	if ( ptr != NULL  )
   {
		fputs (text,datei);                               	
		printf("%s\r\n",text);
	break; 




            }
          }
 	fclose (datei);      
    }
  }
}
 
Zurück