我想通过为字符串输入指定scanf
来创建将在MAX_LENGTH
中使用的格式字符串。我有以下内容,但编译器说错了:
const int MAX_LENGTH = 50;
char format[9];
sprintf(format, "\%%d[^\n]s", MAX_LENGTH);
编译器说格式字符串不使用data参数。第一个%
应该被转义,第二个%d
是MAX_LENGTH
的一部分,应该从MAX_LENGTH
读入。我该如何做到这一点?顺便说一下,格式字符串最多应读取{{1}}个字符,直到达到换行符。
答案 0 :(得分:0)
%符号应使用%%
,而不是 \%
进行转义。