¿Cómo leer un archivo .txt o un archivo .csv del progtwig C?

¿Qué función C es adecuada para la lectura? En realidad, mi archivo .txt o .csv tiene un patrón fijo que se muestra a continuación:

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 

Además, ¿qué archivo .txt o .csv es fácil de leer del progtwig C?

Lo más simple (pero también menos flexible y con algunos inconvenientes es usar 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); 

Para cualquier uso avanzado (lea algo más que soluciones rápidas y sucias), recomiendo usar algunas de las bibliotecas csv repartidas por Internet.

EDITAR: Versión de readRecord para la pregunta editada (cada registro en una línea separada).

 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; } }