如何从c-string中读取特定数量的字符?

JAN*_*JAN 2 c string

随着int snprintf(char *str, size_t size, const char *format, ...); 我可以写具体数目的字符到str.

如何从c字符串中读取特定数量的字符?

问候

das*_*ght 6

您可以在format参数中传递一个数字:

char buf[21];
sscanf(str, "%20s", buf);
Run Code Online (Sandbox Code Playgroud)

这最多可读取20个字符buf.

如果您不知道在编译时要读取多少数据,可以在运行时准备格式字符串:

char format[20];
sprintf(format, "%%%ds", howMuchToRead);
sscanf(str, format, buf);
Run Code Online (Sandbox Code Playgroud)