【发布时间】:2014-01-25 21:06:28
【问题描述】:
我的程序有点问题。 它应该读取包含“i”的文件的第一行,然后打印出“i”列。 我不知道如何“修复”它
char czytaj(const char *fname)
{
FILE *fh = fopen(fname,"r");
int i;
char tabelka[100][100];
int k=0;
int w=0;
if(fh == NULL)
{
printf("cos zjebales\n");
return 0;
}
fscanf(fh,"%d",&i);
printf("%d\n", i);
//while(!feof(fh))
//while(k<5)
{
fscanf(fh,"%s",&tabelka[k][w]);
if(tabelka[k][w]=='\n')
{
w=w+1;
k=0;
}
else
{
k=k+1;
}
}
fclose(fh);
}
这是文件
3 \n
Kol01 Kol02 Kol03 Kol04 \n
aa 10 11 31 \n
bb 20 21 32 \n
cc 30 31 33 \n
dd 40 41 43 \n
:)
【问题讨论】:
-
表达式
&tabelka[k][w]并没有按照您的预期执行,尤其是在fscanf的上下文中,"%s"格式。我建议您在调试器中单步执行程序,同时监控所有变量值(尤其是数组)。 -
缩进怎么了?