簡體   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