【发布时间】:2019-01-26 17:20:30
【问题描述】:
我有一个 C 程序,它从 .txt 文件中读取以逗号分隔的值列表,并将这些值分配给变量。我想将第一个值分配给字符串,第二个分配给 int,第三个分配给 double,第四个分配给 double。但是,整行被分配给字符串,其余的是垃圾或随机值。我希望能够“跳过”逗号并读取逗号之间的赋值。最后的双精度在末尾有一个百分号,所以我使用 %% 读取值,至少我认为应该这样做。
fscanf(text_file, "%s,%d,%lf,%lf%%%[^\n]", title, &count, &size, &percentage);
数据点如下所示: 黄叶,43,4.50,9.00% 但是title的值包含整行,其余的值只是随机的垃圾值。
【问题讨论】:
-
最好先用
fgets()阅读所有行,然后用sscanf()。