在我的代码中,我使用int array[L]
。我指定了数组长度:#define L 64
。一切都好。但是如果我想在(外部)文本文件中指定此值64,而不是在代码中呢?如何将文本文件读入#define?
答案 0 :(得分:2)
但是如果我想在(外部)文本文件中指定此值64,而不是在代码中呢?
有两种方法可以设置我能想到的宏值。
在代码中定义它。文本文件不会用于此目的。
在编译器(-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 );
}