C:将文本文件中的值保存到内存字段



我正在尝试打开一个文本文件并将浮点值保存到特定的内存地址,以便在汇编程序中使用它们。我的问题是我对文本文件中值的格式有限制:

if(sscanf(line,"%f  mm  %f  mm", 
  &data1[linesread], &data2[linesread]) != 2)
{
    fprintf(stderr, "Error in line: %sn",line);
    fprintf(stderr, "Aborted.");
    break;
}

%f mm %f mm sscanf()代表什么?

%f意味着该行的第一个和第二个值必须是浮点值,但我不明白"mm"是什么意思。

当我尝试阅读格式如下的行时:

5.0 2.0

我总是得到:

Read: 5.0 2.0
Error in line: 5.0 2.0
Aborted.

也许你可以试试这个

if(sscanf(line, "%f %f", &data1p[linesread], &data2[linesread]) != 2)

您的代码和输入文件都需要同意是否应该存在 mm。

正如 Jurica 所说,从代码中删除两个 mm。或者,您可以尝试 Paul 的建议,在输入文件中添加两个 mm。适合您的正确解决方案取决于输入文件的格式限制。

我的猜测是mm表示毫米,这可能是数据的单位。

相关内容

  • 没有找到相关文章

最新更新