【问题标题】:C - Reading parts of a fileC - 读取文件的一部分
【发布时间】:2015-05-17 22:01:40
【问题描述】:

我有一个文件,其中每一行的格式如下:`%s %f %f \n。
示例:

  • Arctic_fox 44.5 3.385
  • 海狸 15.499 11.2

我想跳过动物的名称,然后获取浮点值。我怎样才能做到这一点?

【问题讨论】:

  • 只需将字符串读入一个虚拟变量即可。
  • 基本上我在做一个线性回归,所以我不想要字符串,只是浮点数。
  • 你读完就把琴弦扔了,有什么问题?

标签: c file-io scanf


【解决方案1】:

只需使用fscanf(f, "%s %f %f", str, &x, &y); 读取所有数据,但不要使用str。或者更好地使用fscanf(f, "%*s %f %f", &x, &y);

【讨论】:

    【解决方案2】:

    您不需要为此编写 C 程序。 将有问题的文件导入 excel 并删除第一列 [这是动物的名称]。这会让你得到你想要的。

    现在您可以从 excel 中保存此文件。

    【讨论】:

    • 或者您可以雇人在文本编辑器中手动完成...您似乎错过了使用程序自动执行任务的要点。
    • 你的cmets不是很专业。有时我们只需要处理一次文件。从那时起我就解决了这个问题。
    • OP 询问如何在解析文件以执行某些计算时跳过字段,petrovich 迅速而准确地回答。你迟到的答案根本没有帮助。我承认我的评论有点讽刺,但你的回答听起来也错了。在您只需要处理一次文件的情况下,涉及一个简单的命令行的解决方案似乎更符合程序员的方法。
    • 我们没有证据表明第一个答案有帮助。所以还有进一步建议的空间。问题从未提到它需要以编程方式完成,要求是获取数值。现在,如果字符串不是以 null 结尾的,会发生什么?程序必须明确查找数字。
    • loco 的评论对我来说就是证据。我不确定您所说的如果字符串不是以null 终止的 是什么意思。如果字符串包含嵌入的空格,fscanf 不是正确的工具。
    猜你喜欢
    • 2021-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多