5

如果某事为真,我想定义一个常量,并在“system(”)中使用它的值;

例如:

#ifdef __unix__
#   define CLRSCR clear
#elif defined _WIN32
#   define CLRSCR cls
#endif


int main(){
    system("CLRSCR"); //use its value here.
}

我知道clrscr();conio.h/conio2.h 中有,但这只是一个例子。当我尝试启动它时,它说cls未声明,或者 CLRSCR 不是内部命令(bash)

谢谢

4

2 回答 2

6

常量是一个标识符,而不是字符串文字(字符串文字有双引号;标识符没有)。

另一方面,常量值是字符串文字,而不是标识符。你需要像这样切换它:

#ifdef __unix__
#   define CLRSCR "clear"
#elif defined _WIN32
#   define CLRSCR "cls"
#endif


int main(){
    system(CLRSCR); //use its value here.
}
于 2012-05-24T12:51:19.613 回答
4

你需要这个:

#ifdef __unix__
   #define CLRSCR "clear"
#elif defined _WIN32
   #define CLRSCR "cls"
#endif


system(CLRSCR); //use its value here.
于 2012-05-24T12:51:11.837 回答