33,322
社区成员




#include <stdio.h>
#include <string.h>
#include <stddef.h>
#include <stdlib.h>
struct Family_People
{
char name[20];/*存放姓名*/
char sex[4];/*存放性别*/
char english[20];/*存英语成绩*/
};
void Fun_Get(struct Family_People *Stu);
int main(void)
{
struct Family_People Tom_Cat[2];
Fun_Get(Tom_Cat);
printf("%s,%s,%s,%s,%s,%s",Tom_Cat[0].name,Tom_Cat[0].sex,Tom_Cat[0].english,Tom_Cat[1].name,Tom_Cat[1].sex,Tom_Cat[1].english);
return 0;
}
void Fun_Get(struct Family_People *Stu)
{
char temp[20];
char more[10000];
int x=0;/*用x控制Stu数组下标*/
FILE *pfile2=NULL;
if(!(pfile2=fopen("myfile.txt","r")))/*声明读取文件指针*/
{printf("Can not read myfile.");
exit (1);
}
while(fgets(more,10000,pfile2));/*读取一个字符串到more,直到读到了'\n'字符或者10000-1个字符为止*/
{
size_t i;
int on=0;
int p=0;
for(i=0;i<strlen(more);i++)
{
if(on==0)
{
if (more[i]!='@')
{
temp[p++]=more[i];
}
else if(more[i]=='@')
{
temp[p]='\0';
strcpy(Stu[x].name,temp);
on=1;
p=0;
}
}
if(on==1)
{
if (more[i]!='@')
{
temp[p++]=more[i];
}
else if(more[i]=='@')
{
temp[p]='\0';
strcpy(Stu[x].sex,temp);
on=2;
p=0;
}
}
if(on==2)
{
if (more[i]!='@')
{
temp[p++]=more[i];
}
else if(more[i]=='@')
{
temp[p]='\0';
strcpy(Stu[x].english,temp);
on=3;
p=0;
}
}
}
x++;
}
fclose(pfile2);
}