我是新来的,也是C的新手:) 我学习结构,我遇到了麻烦:
Company **com_ptr;
int n,i=0;
FILE *fd;
fpos_t pos;
fd=fopen("C:\\Users\\acer\\Desktop\\text.txt","r+");
if(fd==NULL){
printf("That file not exits.\n");
}
else{
fgetpos(fd,&pos);
com_ptr=(Company**)malloc(sizeof(Company*)*15);
for(i=0;i<15;i++) com_ptr[i]=malloc(sizeof(Company));
i=0;
while(!feof(fd)){
fsetpos(fd,&pos);
fscanf(fd,"%[A-Z a-z]",&com_ptr[i]->fName);
fscanf(fd,"%[A-Z a-z]",&com_ptr[i]->position);
fscanf(fd,"%[A-Z a-z 0-9]",&com_ptr[i]->depart);
fscanf(fd,"%[A-Z a-z 0-9]",&com_ptr[i]->office);
fscanf(fd,"%[0-9 /]",&com_ptr[i]->bDate);
fscanf(fd,"%[MALEFmalef]",&com_ptr[i]->sex);
fscanf(fd,"%[0-9 /]",&com_ptr[i]->sWorking);
fscanf(fd,"%ld",&com_ptr[i]->salary);[enter image description here][1]
fgetpos(fd,&pos);
i++;
}
printf("Input the person that you want to check : ");
scanf("%d",&i);
printf("Full name : %s",com_ptr[i]->fName);
printf("\nPosition : %s",com_ptr[i]->position);
printf("\nDepart : %s",com_ptr[i]->depart);
printf("\nOffice : %s",com_ptr[i]->office);
printf("\nDoB : %s",com_ptr[i]->bDate);
printf("\nSex : %s",com_ptr[i]->sex);
printf("\nStarting : %s",com_ptr[i]->sWorking);
printf("\nSalary : %ld",com_ptr[i]->salary);
free(com_ptr);
fclose(fd);
}
我的想法是:我正在尝试从文件中读取数据。该文件包含许多雇员的信息。 这样的文件示例如下: 安德鲁 导向器 A座 A4 1990年2月10日 男 01/01/2010 2500000
//亲爱的@xing这是你代码的输出。抱歉花了太长时间 约翰特里
总
总统座1A
16/01/1990
男
26/11/2010
莱昂内尔·梅西
总
总统座3A
26/01/1987
男
10/01/2010