C语言之按行读取文件
C语言要按行读取文件,可以使用 fgets和fscanf,但要注意它们的区别。另外要注意的是一行有多长,要设置的缓存buff多大合适。
原文本文件
outlook,temperature,humidity,windy,play sunny,hot,high,FALSE,no sunny,hot,high,TRUE,no overcast,hot,high,FALSE,yes rainy,mild,high,FALSE,yes rainy,cool,normal,FALSE,yes rainy,cool,normal,TRUE,no overcast,cool,normal,TRUE,yes sunny,mild,high,FALSE,no sunny,cool,normal,FALSE,yes rainy,mild,normal,FALSE,yes sunny,mild,normal,TRUE,yes overcast,mild,high,TRUE,yes overcast,hot,normal,FALSE,yes rainy,mild,high,TRUE,no
#include <stdio.h> #include <stdlib.h> #include <stdbool.h> bool ReadCsvFile(char* filePath) { char data[100]; FILE *fp=fopen(filePath,"r"); if(!fp) { printf("can't open file\n"); return false; } while(!feof(fp)) { fscanf(fp,"%s",&data); printf("%s",data); printf("\n"); } printf("\n"); fclose(fp); return true; } int main() { ReadCsvFile("D:\\MyCppProject\\weather.nominal.csv"); return 0; }
读取效果
注意:本例中使用的是“fscanf”,但是它不如“fgets”,参考:fgets和fscanf区别
本文为转载文章,版权归原作者所有,不代表本站立场和观点。
上一篇:fgets和fscanf区别
下一篇:ByteBuffer 使用总结