sscanf开始跳过白色空间

时间:2010-10-20 06:04:14

标签: c scanf

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

示例字符串。

@a Bear Tiger

sscanf(strLine, "@%1s %64s %64s", dir, name1, name2);

我有。

问题是该行是否按照

进入
        @a Bear Tiger

应该是:

@a Bear Tiger

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

感谢。

1 个答案:

答案 0 :(得分:12)

sscanf(strLine, " @%1s %64s %64s", dir, name1, name2);

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