gpt4 book ai didi

c - 使用 fscanf 读取文件

转载 作者:行者123 更新时间:2023-11-30 17:40:52 25 4
gpt4 key购买 nike

我的程序有一点问题。它应该读取包含“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

:)

最佳答案

int czytaj(const char *fname){
FILE *fh = fopen(fname, "r");
int col, row;
int i, ch;
char tabelka[100][100];

if(fh == NULL){
printf("cos zjebales\n");
return 0;
}

fscanf(fh,"%d", &col);
printf("%d\n", col);
--col;//to 0 orign from 1 origin

for(row = 0;EOF!=(ch = getc(fh));++row){
ungetc(ch, fh);
for(i=0;i<col;++i)
fscanf(fh, " %*s");//skip col-1 column

fscanf(fh, " %s", tabelka[row]);
printf("%s\n", tabelka[row]);
while('\n' != (ch = getc(fh)) && EOF != ch)
;
}
fclose(fh);
return 1;
}

关于c - 使用 fscanf 读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21356249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com