#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct user_rating
{
char userID[];
char movieID[];
char rates[];
};
int main()
{
FILE *fp=NULL;
int i=0,j;
struct user_ratings UR[];
if((fp = fopen("user_ratings.txt","r")) == NULL)
{
printf("Can't open it");
exit(EXIT_FAILURE);
}
while(!feof(fp))
{
fscanf(fp,"%d,%d,%f",&UR[i].userID,&UR[i].movieID,&UR[i].rates);
i++;
}
j=i;
for(i=0;i<j;i++)
printf("%d,%d,%f\n",UR[i].userID,UR[i].movieID,UR[i].rates);
fclose(fp);
return 0;
}
指针学过了吗?
你可以通过获取文件内容的字节数,直接开辟那么大的内存空间,模拟结构体数组使用。
定义一个容量 #define sizeof 10000
最好的方式是用链表进行存储,因为不确定内存有多大,如果你数组申请的过大,有可能程序会出现运行错误.
有点懵,我还没学链表