2017-06-08 2 views
-4

Ich habe eine TXT-Datei mit folgenden Daten.C: Suchzeile in der Datei

2  asd      asd      asd   asd      
3   qwe      qwe      qwe   qwe      
4   qe      qwe      qwe   qwe      
12  wqe      qwe      qwe   qwe 

Wie kann ich die erforderliche Zeichenfolge durch die ID finden? Alle Daten im strukturierten Array geschrieben.

struct customer_struct { 
    char id[10]; 
    char name[25]; 
    char last_name[25]; 
    char phone_number[15]; 
    char address[25]; 
}; 
struct customer_struct s[1]; 

Ich habe diesen Code versucht.

int main() 
    { 
    FILE *fp; 
      int select; 
      scanf_s(" %d", &select2); 
      char filename[]="output.txt",line[200],search_string[]=select2; 
      fp=fopen("output.txt","r"); 
      if(!fp) 
      { 
        perror("could not find the file"); 
        exit(0); 
      } 
      while (fgets (line, 200, fp) != NULL) /* read a line */ 
      { 
        if(strstr(line,search_string)) 
        fputs (line, stdout); /* write the line */ 
      } 
      fclose (fp); 
      return 0; 
    } 
+0

Was haben Sie versucht? – mdo123

+0

@ mdo123 Ich habe den Code hinzugefügt, den ich zu verwenden versuchte. Es funktioniert nur mit der statischen Zeile 'line char Dateiname [] = "name.txt", Zeile [200], search_string [] = "1"; ' – Budda

+0

was Sie fragen ist unklar. –

Antwort

0

Zunächst haben Sie die Integer-Variable select2 in Ihrem Code nicht definiert. Und der Fehler kommt von dem Ausdruck: char search_string[] = select2. Beachten Sie, dass Sie einem char-Array keine Ganzzahl zuweisen können. Stattdessen sollten Sie Folgendes tun: char search_string[16]; snprintf(search_string, sizeof(search_string), "%d", select2);