C读取行和排序数据[重复]

问题描述 投票:1回答:1

这个问题在这里已有答案:

我有一个.txt文件,其中包含以下格式的移动对象上的数据

质量大小速度(x)速度(y)速度(z)等

此外,该文件包含一些由字符表示的背景信息,因此

M 1000

C 500

我一直在尝试编写代码来读取并根据内容对数据进行排序(因此M存储在一个变量中,C存储在另一个变量中,而对象的数据存储在正确的数组中)。目前,我的代码分段在编译时出错。我尝试用fgets,fscanf,gets以及我可以用的其他方式重新编写它,但没有任何工作。

while(fgets(data, 50, file))
{
    if (data[0] == "M")
    {
        M = data[1];
    }
    else
    {
        fscanf(data,
            "%lf %lf %lf %lf %lf",
            obj_stat[0],
            obj_stat[1],
            obj_stat[2],
            obj_stat[3],
            obj_stat[4],
            obj_stat[5]);
    }
}


int fclose(univ);
c scanf
1个回答
2
投票

我将在这里做一些猜测,因为你的代码不完整。但是你试图在看起来像是一个字符串的地方使用fscanf。这是一个错误。

你的fscanf()也有5个格式说明符,但是你传递了6个参数。你忘了在每种情况下都使用&的地址。

你对待M线的方式也是不正确的。你应该在两种情况下使用sscanf()

© www.soinside.com 2019 - 2024. All rights reserved.