次のようなテキスト ファイルがあります。
i 3755
i 3633
i 4435
i 1434
これを入力として読み取るにはどうすればよいですか。fscanf を使用してみましたが、「i」の後にランダムな文字が表示され続けます。
たとえば、出力は次のようになります
i% 3755
i5 3633
等
これが私が試してきたことです:
int data = 0;
char command;
if(fptr==NULL)
printf("File Cannot Be Read");
fscanf(fptr,"%c %d\n", &command, &data);
printf("%c " , command);
printf("%d\n" , data);
fscanf(fptr,"%s %d\n", &command, &data);
printf("%c " , command);
printf("%d\n" , data);
fscanf(fptr,"%s %d\n", &command, &data);
printf("%s " , command);
printf("%d\n" , data);
それらのどれも機能していないようです。事前にご協力いただきありがとうございます。
編集:同じ問題を抱えていた人のための作業コードを次に示します。
int data = 0;
char command;
fptr = fopen(argv[1], "r");
if(fptr==NULL)
printf("File Cannot Be Read");
while(fscanf(fptr,"%c %d \n", &command, &data) == 2)
{
if(command == 'i')
{
printf("insert found\n");
}
if(command == 'd')
{
printf("delete found\n");
}
}
}