これはファイルから読み込んで "acc_num"に基づいて情報を出力するcプログラムです。しかし問題は、ファイル内の最初のacc_numだけを受け入れることです。 なぜですか?特定のacc_numのファイル全体を検索したいと思っていました。ファイルからの読み込みエラー
#include <stdio.h>
#include <string.h>
#include <conio.h>
struct CUSTOMER {
char fname[50];
char lname[50];
char address[100];
char con_num[50];
char email[50];
char acc_num[999]; //account number
};
struct CUSTOMER information[999];
int main() {
FILE * fptr;
fptr = fopen("customers.dat", "r");
int i;
int x;
char acc[50];
for (x = 0; x < 1; x++) {
printf("Enter account number:");
scanf("%s", & acc);
getchar();
for (x = 0; x < 1; x++) {
fscanf(fptr, " %s\n", information[x].acc_num);
fscanf(fptr, " %s\n", information[x].fname);
fscanf(fptr, " %s\n", information[x].lname);
if (strcmp(information[x].acc_num, acc) == 0) {
printf("%s%s%s", information[x].acc_num, information[x].fname, information[x].lname);
getchar();
}
}
}
getch();
return 0;
}
"for"の停止条件 "x <1"を見てください。一度だけ実行されます。 – UlyssesR