如果某些内容为true,我想定义一个常量,并在“system(”“)中使用它的值;
例如:
#ifdef __unix__
# define CLRSCR clear
#elif defined _WIN32
# define CLRSCR cls
#endif
int main(){
system("CLRSCR"); //use its value here.
}
我知道conio.h / conio2.h中有clrscr();
但这只是一个例子。当我尝试启动它时,它表示未声明cls
,或者CLRSCR不是内部命令(bash)
由于
答案 0 :(得分:6)
Constant是标识符,而不是字符串文字(字符串文字周围有双引号;标识符没有)。
另一方面,常量值是字符串文字,而不是标识符。你需要像这样切换它:
#ifdef __unix__
# define CLRSCR "clear"
#elif defined _WIN32
# define CLRSCR "cls"
#endif
int main(){
system(CLRSCR); //use its value here.
}
答案 1 :(得分:4)
你需要这个:
#ifdef __unix__
#define CLRSCR "clear"
#elif defined _WIN32
#define CLRSCR "cls"
#endif
system(CLRSCR); //use its value here.