这部分代码负责打开我的data.txt文件并从中读取几个数字(数组的大小和要填充的数字),但是Virtual Programming Lab和C都说“ 找不到在可执行文件中添加程序“” ”。我通过编写程序尝试了这种方式,该程序只能从.txt中读取1个数字,并且出现相同的错误,因此我想即时通讯这样做完全错误。还有什么其他方法可以读取.txt文件?谢谢
Array* input() {
int x,y;
int i;
Array *p;
FILE *f=fopen("data.txt", "r");
p = (Array*) malloc(sizeof(Array));
fscanf(f, "&d",&x);
fscanf(f, "&d",&y);
p->n1 = x;
p->n2 = y;
p->p1 = (int*) malloc(sizeof(int) * p->n1);
p->p2 = (int*) malloc(sizeof(int) * p->n2);
for(i=0; i < p->n1; i++)
fscanf(f, "%d", &p->p1[i]);
for(i=0; i < p->n2; i++)
fscanf(f, "%d", &p->p2[i]);
fclose(f);
return p;
}
答案 0 :(得分:0)
以下建议的代码:
idx
需要类型为malloc()
的参数。这导致需要从size_t
到int
的其他几项更改size_t
for
if
else
while
do...while
switch
{ {1}}通过一个空白行case
的参数列表正确声明为default
input()
的范围限制为在其中声明的代码块,而不是函数的范围:void
现在,建议的代码:
i