【发布时间】:2015-03-01 22:51:56
【问题描述】:
我想通过为字符串输入指定MAX_LENGTH 来创建将在scanf 中使用的格式字符串。我所拥有的是以下内容,但编译器说它是错误的:
const int MAX_LENGTH = 50;
char format[9];
sprintf(format, "\%%d[^\n]s", MAX_LENGTH);
编译器说格式字符串没有使用数据参数。第一个% 应该被转义,第二个是%d 的一部分,应该从MAX_LENGTH 读入。我该如何做到这一点?顺便说一句,格式字符串应该最多读取MAX_LENGTH 个字符,直到到达换行符。
【问题讨论】: