【发布时间】:2011-02-15 00:22:06
【问题描述】:
我的 C 应用程序有问题;我在 .txt 文件中有一些浮点数,我必须阅读它们并以降序方式排序。当我执行 fscanf 命令然后执行 printf 时,我会在屏幕上看到奇怪的数字(我想是内存位置)。我该如何解决这个问题? 提前致谢
已编辑 应用程序由 1200 多行代码组成;问题来了:
.......
fopen=(fp1,"scores.dat","r")
fopen=(fp2, "team_number.dat", "r")
fscanf(fp2,"%d", &x);
for (i=0;i<x;i++) {
fscanf(fp1,"%f", &punteggi)
printf("%3.1f\n", punteggi)
}
......
【问题讨论】:
-
代码和示例输入文件甚至是尝试回答这个问题的最低要求......
-
您的 .txt 文件中有多少个数字? .txt 文件大吗?
-
如果您发布一些代码,它会更容易帮助您。另外,应用程序还需要做其他事情吗?您可以使用 unix 命令
sort -n执行您所描述的操作 -
我用“不工作”代码编辑了问题
-
将
fopen=(fp1,替换为FILE* fp1 = fopen(。如果punteggi是double,则使用%lf。检查fscanf()是否返回1(成功扫描的项目数。使用fgets/sscanf能够打印导致错误的行。