【发布时间】:2017-08-12 05:33:21
【问题描述】:
我在代码的最后一行收到此错误,因为我正试图从 extra.txt 文件中读取数据。从 input.txt 正确读取记录,但不确定为什么它会为额外文件抛出错误。谢谢!
typedef struct {
char* fname;
char* lname;
int id;
int age;
} data;
typedef struct {
data** array;
int len;
int cap;
}vector;
vector* vector_read(FILE* in_file)
{
int i;
vector *v = (vector*)malloc(sizeof(vector));
fscanf(in_file,"%d",&v->len);
if(in_file=NULL)
{
return NULL;
}
printf("%d",v->len);
data** array = (data**)malloc(sizeof(data*)*(v->len));
v->array = array;
data *temp;
for(i=0;i<(v->len);i++)
{
temp = data_read(in_file);
v->array[i] = temp;
}
return v;
}
vector *v = vector_read(input);
printf( "initial state of vector v\n");
vector_print(v);
vector *v_add = vector_read(extra);
编辑:
extra.txt 以这种方式记录:
4
Barak Obama 101 50
Joe Biden 102 55
Joe Plumber 10293 45
Wayne Gretzky 99 56
和 input.txt
1
Aaaa
Aooo
1
20
【问题讨论】:
-
您需要提供更多代码。你对
input和extra的定义是什么样的? -
@vp881:不是文件的内容,但你会在代码中的某处完成
FILE* input;。你也做过FILE* extra吗? -
@JoakimGebart 添加了输入和额外的格式
-
@Naveen 是的,我做了 FILE* extra
-
另外,从
vector *v = vector_read(input);开始的行应该在某个函数内部(例如main)。您可以发布您尝试编译的代码,直接从您的编辑器复制粘贴吗?