次のようなテキストファイルがあるとします。
ユーザー:ジョン
デバイス:12345
日付:12/12/12
編集:
単語を正常に検索し、その単語の後に情報を表示するためのコードがあります。ただし、コードを編集して2つまたは3つの単語を検索し、1つの単語ではなくその後ろに情報を表示しようとすると、機能しません。同じwhileループにコードを追加し、別の単語の新しいwhileループを作成しようとしましたが、どちらも機能しません。私が間違っている/していないことがあるに違いありません。
アドバイスをお願いします、ありがとう!
これが私のコードです:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
char file[100];
char c[100];
printf ("Enter file name and directory:");
scanf ("%s",file);
FILE * fs = fopen (file, "r") ;
if ( fs == NULL )
{
puts ( "Cannot open source file" ) ;
exit( 1 ) ;
}
FILE * ft = fopen ( "book5.txt", "w" ) ;
if ( ft == NULL )
{
puts ( "Cannot open target file" ) ;
exit( 1 ) ;
}
while(!feof(fs)) {
char *Data;
char *Device;
char const * rc = fgets(c, 99, fs);
if(rc==NULL) { break; }
if((Data = strstr(rc, "Date:"))!= NULL)
printf(Data+5);
if((Data = strstr(rc, "Device:"))!=NULL)
printf(Device+6);
}
fclose ( fs ) ;
fclose ( ft ) ;
return 0;
}