sscanf开始跳过白色空间

Mat*_*att 5 c scanf

我想读一个字符串并用sscanf解析它.虽然我不想在开头的任何空间阅读.

样本字符串.

@a Bear Tiger

sscanf(strLine, "@%1s %64s %64s", dir, name1, name2);
Run Code Online (Sandbox Code Playgroud)

我有这个.

问题是如果该线进入说

        @a Bear Tiger
Run Code Online (Sandbox Code Playgroud)

应该:

@a Bear Tiger
Run Code Online (Sandbox Code Playgroud)

它将要读取@字符之前的空格.如何跳过空格并从@字符中读取.

谢谢.

Mat*_*hen 12

sscanf(strLine, " @%1s %64s %64s", dir, name1, name2);
Run Code Online (Sandbox Code Playgroud)

这是必要的,因为scanf只跳过(大多数)转换规范的空格.但它@是一个"普通字符",而不是转换规范,所以没有跳过.但是,在格式字符串中添加空格会强制跳过输入空格.