【发布时间】:2018-03-04 14:55:41
【问题描述】:
我想限制 scanf 命令使用定义值获得的字符数。 以下代码运行良好
scanf("%20s",&stud->student_name);
但后来我尝试了那个(MAXNAMELEN 被拒绝为 20)
scanf("%MAXNAMELENs",&stud->student_name);
它没有工作。 我怎么能只使用 scanf 做到这一点?
【问题讨论】:
-
您可以先使用
sprintf生成格式字符串,或者(更好)使用fgets。 -
您总是可以将
#define MAXNAMELENFORMATSTRING "%20s"作为一个非常简单的选项。