c - 从输入文件中提取数据?

标签 c

我已经被这个问题困扰了一段时间。

我正在创建一个读取输入文件(只是一个普通的 .Txt)的程序。此输入文件以以下格式存储变量:

x
21
% This is a comment
y 
3

等等。我的目标是读取此输入文件(完成),然后将文件中的每个变量存储到我的 c 程序中的全局变量中。 IE。在我的 c 文件中,全局变量 x 的值为 21,y 的值为 3,而注释将被忽略。

我想了一会儿这个问题,但不知道该使用什么函数。如有任何建议,我们将不胜感激,谢谢。

(请注意,这些变量始终具有相同的名称,但它们的显示顺序因输入文件而异)。

最佳答案

我建议您使用一个包含两个字段的结构。

struct Foo
{
  char var_name;
  int var_value;
};

然后,您创建一个由这些结构组成的数组,其中包含输入文件中预期变量的大小。

struct Foo input_array[n];

然后,当您读取文件时,设置结构字段...

for(int i = 0; i < n ; i++){
   input_array[i].var_name = input_var_name;
   input_array[i].var_value = input_var_value;
}

然后打印这些值,它们就已经按顺序排列了。

关于c - 从输入文件中提取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32933712/

相关文章:

C 内存管理 -> 哈希

c - 在 ARM64 中使用 ARM Neon Intrinsic 对 64 位 double 值进行算术运算

c - Valgrind 报告的已用内存巨大

c - C 中 NULL 与 0 有何不同?

c - 如何使用 toupper() 函数来计算小写和大写用户输入?

C : Error when i try separate program to modules

c++ - 读取 fopen 打开的二进制文件 ("ab") (add,binary)

c++ - 从 C++ 调用 WDF 驱动程序

c - 为什么我的循环不是无限的

c - 由于未知原因 "if"在条件为零时起作用