[英]Read file using comma separated values in c
我有一个文本文件,其格式为字符串,字符串,数字
职业,住所,工资
由于它是逗号分隔的,我该怎么读? 我有以下代码
int t;
char occupation[20];
char residence[20];
int salary;
fp = fopen(argv[1],"r");
while(fgets(buffer,sizeof(buffer),fp) != NULL) {
t = sscanf(buffer,"%20[^,],%20[^,],%d",occupation,residence,&salary);
if (t == 3)
{
addToFront(linkedList,salary,occupation,residence);
}
}
我知道我的addToFront不是问题,因为如果我用类似这样的名称进行调用:
addToFront(linkedList,50000,"plumber","miami");
它工作正常。
该代码应该可以工作,但是请注意,如果您将20个字符读入一个20个字符的声明空间中,则末尾的0将没有空间。因此,声明您的变量的时间要比您期望的长1个char occupation[21];
( char occupation[21];
)
目前尚不清楚缓冲区的声明方式-就是吗?
实际上,您根本不需要缓冲区,可以使用与sscanf
相同的fscanf
,除了它使用文件指针而不是缓冲区。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.