读取csv文件(C实现)
此处 http://blog.sina.com.cn/s/blog_6163bdeb0100qr2r.html 有提供一种解决办法,不过需要事先知晓csv的列数。
这里补充一个 可以用来提取 csv 文件列数的 函数
int GetTotalCol (FILE* fp) { char strLine[2000]; // fseek(fp,0,SEEK_SET); fgets(strLine, 2000, fp); int i=0,num=0; while(strLine[i]!='\0') { if(strLine[i]==',') //44 num++; i++; } fseek(fp,0,SEEK_SET); return num; }
注意这里 char strLine[2000]; 2000的选择,如果单行数据量超过此数的话,需要重新设计此函数。 比如逐个字符去读,直到读到 换行标志 。
【个人观点,仅供参考。如有错误,欢迎指正,以免误人子弟,多谢!】