파일의 정보를 구조로 스캔 한 다음 제대로 입력했는지 확인하기 위해 표시됩니다.파일에서 구조로 데이터 스캔
내가 어떤 이유로
C.
에 코딩 ++ 개발자 C를 사용하고, 정보가 제대로 스캔되지 않는 전혀 표시되지 않습니다. 도움이 될 것입니다. 메모장23
kk
f l
23 kk
50000
shfbskfjabdsbf
45
jj
b l
45 yy
80000
gdfygfyfhgu
에서 NOVA.txt의
#include <stdio.h>
#include <string.h>
typedef struct
{
int client_id;
char client_business_name [30];
char client_first_name [20];
char client_last_name [20];
char client_address [40];
float client_budget;
char client_business_info [300];
}Client;
main()
{
Client c[100];
int x;
FILE*z=fopen("NOVA.txt","r");
for (x=0;x<100;x++)
{
c[x].client_id=-1;
strcpy(c[x].client_business_name,"NULL");
strcpy(c[x].client_first_name,"NULL");
strcpy(c[x].client_last_name,"NULL");
strcpy(c[x].client_address,"NULL");
c[x].client_budget=-1;
strcpy(c[x].client_business_info,"NULL");
}
for (x=0;x<100;x++)
{
fscanf (z,"%d\n %[^\n]\n %[^\n]\n %[^\n]\n %[^\n]\n%f\n %[^\n]\n\n",
&c[x].client_id, c[x].client_business_name, c[x].client_first_name,
c[x].client_last_name, c[x].client_address, &c[x].client_budget,
c[x].client_business_info);
}
for (x=0;x<100;x++)
{
printf("\n%d\n",c[x].client_id);
printf("%s\n",c[x].client_business_name);
printf("%s\n",c[x].client_first_name);
printf("%s\n",c[x].client_last_name);
printf("%s\n",c[x].client_address);
printf("%f\n",c[x].client_budget);
printf("%s\n",c[x].client_business_info);
}
fclose (z);
system ("PAUSE");
}
샘플 추가로, 누군가가 고정 된 코드가 어떻게 보이는지 게시하시기 바랍니다 수 있습니까?
입력 파일의 샘플을 줘! – Sathish
'fscanf'의 반환 값을 검사하여 모든 예상 데이터가 올바르게 읽혔는지 확인해야합니다. –
'fscanf()'의 값을 확인해야 할뿐만 아니라'fopen()'의 값을 확인한 후에 사용해야합니다. 스캔 한 문자열의 길이에 제한을 적용하는 것이 좋습니다. –