求解 C语言 文件读取问题
问题1:我这样编写的代码,目的是把csv格式数据读取出来,但不知道代码哪里有问题,输出的a实际上是a,就是第一列被跳过去了,求问为什么会这样啊{:10_266:} {:10_266:}问题2:如果我想把数组的类型由int改为char(数据里面有字母),这样的话代码要怎么改呢?我直接把%d和定义改成char好像不行,输出会错误{:10_266:} 求大神指点,谢谢啦{:10_266:}
#include <stdio.h>
#define hang 3
#define lie 5
main()
{
int i, j;
FILE *fid;
int a;
char str, str2, str3;
fid = fopen("test.csv", "r");
for (i = 0; i<hang; i++){
fscanf(fid, "%256[^,]", &str);
for (j = 0; j<lie; j++){
fscanf(fid, ",%d", &a);
}
}
printf("%d\n", a);
} #include <stdio.h>
#include <string.h>
split(char s[] , int d[])
{
int k , m ;
for(m = 0 , k = 0 , d = 0 ; s ; k ++) if(s == ',') {
s = '\0' ;
d = k + 1 ;
}
return m ;
}
main()
{
char s ;
int d , k , m ;
FILE * fp ;
if(fp = (fopen("test.csv" , "r"))) {
fgets(s , 1024 , fp) ;
while(! feof(fp)) {
s = '\0' ;
m = split(s , d) ;
printf("%s" , & s]) ;
for(k = 1 ; k < m ; k ++) printf(" , %s" , & s]) ;
printf("\n") ;
fgets(s , 1024 , fp) ;
}
fclose(fp) ;
} else {
fprintf(stderr , "错误:输入文件不存在!\n") ;
fprintf(stderr , "\n") ;
}
} {:9_218:} jackz007 发表于 2019-11-30 00:59
还是看不懂怎么改……我的代码是要把表格读取到二维数组,然后准备调用的什么的……这样好像和原本的有很大差别{:10_247:}主要其实还是想问问为什么调用的a会变成a{:10_266:}
页:
[1]