在C中包含一个变量头路径

时间:2017-06-21 05:25:01

标签: c

我正在尝试在运行时包含用户输入的头文件。

int main(){
char *p;
scanf("%s",p);
#include p
#define PATH path
#include PATH
}

包含头文件的方法都不起作用。有没有办法在运行时包含用户输入的头文件?

2 个答案:

答案 0 :(得分:2)

您不能在C语言中动态包含任何标头,因为#include仅在编译期间进行评估(预处理程序指令实际上在编译之前发生)。您需要使用#include <your_header_file.h>#include "your_header_file.h"静态添加标题。

答案 1 :(得分:1)

头文件的预处理方式是在编译时将所有定义都包含在文件中。在预处理中,所有#include" "#include< >都将被编译器的翻译器/预处理单元替换。 如果你试图在运行时包含它们,那就没有任何意义。它们很可能已被删除。