簡體   English   中英

使用fscanf從文件中讀取數據流

[英]using fscanf to read stream of data from file

我需要從文件中讀取數據,它看起來像:

0   1.8750  274.90  0   0   0
1   3.7500  370.50  0   1   0
2   7.5000  463.50  0   2   0

所以我使用:

fscanf(p,"%d%f%f%d%d%d",&a, &b,&c,&d,&t,&q);

當我試圖查看它是否正確讀取時,我使用了:

printf("A %d",a);
printf("B %f",b);

輸出 :

A 0B -1.882607

那么,為什么fscanf不能正確讀取浮點數?

可能的問題來源是錯誤匹配fscanf()指令
要么
不完整的 fscanf()閱讀。 可能是由於未打開的文件或意外的輸入文本。

A 0B -1.882607
| || +--------- b value -1.882607
| |+----------- Letters B space
| +------------ a value 0
+-------------- Letters A space

確保您的變量是以下類型:

int a,d,t,q;
float b,c;

檢查fscanf()的結果

int result = fscanf(p,"%d%f%f%d%d%d",&a, &b,&c,&d,&t,&q);
if (result != 6) {
  printf("Error, unexpected return value:%d\n", result);
}

OP的其他信息將有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM