这个问题在这里已有答案:
我想限制使用定义值得到的字符数scanf命令。以下代码运行良好
scanf("%20s",&stud->student_name);
但后来我尝试了那个(MAXNAMELEN定义为20)
scanf("%MAXNAMELENs",&stud->student_name);
它不起作用。我怎么能只使用scanf呢?
一对define
s允许串起另一个define
#define MAXNAMELEN 20
#define LENSTR_(x) #x
#define LENSTR(x) LENSTR_(x)
用于
char str[MAXNAMELEN + 1] = "";
result = scanf ( "%"LENSTR(MAXNAMELEN)"s", str);