繁体   English   中英

从文件中读取双数 - c

[英]read a double number from file - c

我有充满数据行的文件:每行包含:
'char' 空格 'double'。 例如:

a 17.322\n
c 9.45\n

我想“吃”\\n 和字符,并且只读取双数。 最好的方法是什么。

谢谢,如果我有英语错误,抱歉

我认为简单的fscanf可以完成这项工作

#include <stdio.h>

int main()
{
    FILE* f = fopen("test", "r");
    float n;

    while(fscanf(f, "%*[a-z]%f ", &n) == 1)
        printf("%f, ", n);

    return 0;
}
  • "%*"忽略它读取的所有内容
  • "[az]"读取从 'a' 到 'z' 范围内的字符
  • "%f"读取单精度浮点数(换句话说float
  • " "忽略所有空白字符
  • fscanf在读取错误(例如文件结束)或读取值的数量(在我们的例子中为 1)的情况下返回EOF

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM