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 使用总结
 2022-01-21
 4
 0


