如何使用#define从文本文件中定义变量值?

时间:2016-07-22 18:08:30

标签: c variables global-variables

在我的代码中,我使用int array[L]。我指定了数组长度:#define L 64。一切都好。但是如果我想在(外部)文本文件中指定此值64,而不是在代码中呢?如何将文本文件读入#define?

2 个答案:

答案 0 :(得分:2)

  

但是如果我想在(外部)文本文件中指定此值64,而不是在代码中呢?

有两种方法可以设置我能想到的宏值。

  1. 在代码中定义它。文本文件不会用于此目的。

  2. 在编译器(-DL=64)中将其定义为命令行选项。

    如果您使用make,则可以在相应的Makefile中定义该选项。

    如果您使用IDE,则需要在IDE提供的各种设置中弄清楚如何执行此操作。

答案 1 :(得分:0)

阅读文本文件,然后malloc数组:

int *array; 
int L; 
int main(void)
{ 
    L = readLengthFromTextFile();
    array = malloc( L );
    if ( array == NULL ) {
        printf( "array allocation failed\n" );
        exit(1);
    }

    // use the array as if declared as:    int array[L];

    free( array );
}