如何从C程序中读取.txt文件或.csv文件?

哪种Cfunction适合阅读操作? 实际上我的.txt或.csv文件有一个固定的模式如下所示:

Temperature = 35 Pressure Segment 1 Slope = 5.5 Offset = 10 Temperature = 100 Pressure Segment 1 Slope = 53 Offset = 12 Temperature = 150 Pressure Segment 1 Slope = 1 Offset = 12 

哪个文件.txt或.csv很容易从C程序中读取?

最简单(但也最不灵活,有一些陷阱是使用scanf):

 #include  struct Record { int temperature; unsigned int pressure_segment; double slope; int offset; }; int readRecord(FILE* f, Record* rec) { if (fscanf(f, "Temperature = %i Pressure Segment %u Slope = %lf Offset = %i\n", &rec->temperature, &rec->pressure_segment, &rec->slope, &rec->offset) == 4) { return 0; } else { return -1; } } Record rec; FILE* f = fopen("your-file-name", "r"); while (!feof(f)) { if (readRecord(f, &rec) == 0) { printf("record: t: %ip: %us: %lf o: %u\n", rec.temperature, rec.pressure_segment, rec.slope, rec.offset); } } fclose(f); 

对于任何高级用途(阅读除快速和脏的解决方案之外的任何东西)我建议使用散布在互联网上的一些csv库。

编辑:已编辑问题的readRecord版本(每个记录在一个单独的行上)。

 int readRecord(FILE* f, Record* rec) { if (fscanf(f, "Temperature = %i\nPressure Segment %u\nSlope = %lf\nOffset = %i\n", &rec->temperature, &rec->pressure_segment, &rec->slope, &rec->offset) == 4) { return 0; } else { return -1; } }