使用sprintf制作格式字符串

时间:2015-03-01 22:51:56

标签: c format printf

我想通过为字符串输入指定scanf来创建将在MAX_LENGTH中使用的格式字符串。我有以下内容,但编译器说错了:

const int MAX_LENGTH = 50;
char format[9];

sprintf(format, "\%%d[^\n]s", MAX_LENGTH);

编译器说格式字符串不使用data参数。第一个%应该被转义,第二个%dMAX_LENGTH的一部分,应该从MAX_LENGTH读入。我该如何做到这一点?顺便说一下,格式字符串最多应读取{{1}}个字符,直到达到换行符。

1 个答案:

答案 0 :(得分:0)

%符号应使用%%而不是 \%进行转义。