C语言之按行读取文件
微wx笑
2022-01-21【编程语言】
2926
4
0关键字:
C语言要按行读取文件,可以使用 fgets和fscanf,但要注意它们的区别。另外要注意的是一行有多长,要设置的缓存buff多大合适。
原文本文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | outlook,temperature,humidity,windy,playsunny,hot,high,FALSE,nosunny,hot,high,TRUE,noovercast,hot,high,FALSE,yesrainy,mild,high,FALSE,yesrainy,cool,normal,FALSE,yesrainy,cool,normal,TRUE,noovercast,cool,normal,TRUE,yessunny,mild,high,FALSE,nosunny,cool,normal,FALSE,yesrainy,mild,normal,FALSE,yessunny,mild,normal,TRUE,yesovercast,mild,high,TRUE,yesovercast,hot,normal,FALSE,yesrainy,mild,high,TRUE,no |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #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 使用总结



