首页 > 解决方案 > c - 如何访问单独头文件中定义的值

问题描述

所以我有一个名为simulator.h 的单独文件,其中定义了值,例如:

#define PEPPERONI    1
#define CHEESE       2
#define VEGETARIAN   3

我有一个单独的 csv 文件,其中包含一列披萨配料选择。在我的名为converting.c 的程序中,我正在尝试编写一个程序,该程序从csv 文件中读取数据并将数据写入一个名为toppings.bin 的新文件中并进行更改。我遇到的问题是弄清楚如何访问 .h 文件中每个顶部定义的数值。它应该基本上打印一个字节,其值取决于 .h 文件中定义的顶部类型。因此,如果 csv 文件显示“PEPPERONI”,则 bin 文件应打印“1”。

另外,我对如何在 c 中声明一个字节变量感到有些困惑,并希望得到一些解释。

例如,我有:

char *one = getfield(buf, 1);
char *two = getfield(buf, 2);
if(one && two && strcmp(first, "Pizzas") == 0){
  fprintf(ft, "%x \n", two);
}

标签: cheaderbytefopenfwrite

解决方案


您需要 strcmp 顶部的字符串。如果它与您匹配 fprintf(...,"%c",value)。请记住,字符和字节在 C 中通常是同义词,尽管英语可能会说什么是“字符”,什么不是“字符”。

IE

if (strcmp(one,"Pepperoni") == 0)
    fprintf(ft,"%c", PEPPERONI);

推荐阅读