sscanf在开始时跳过空白
我想读入一个字符串并用sscanf解析它。虽然一开始我不想在任何地方阅读 示例字符串sscanf在开始时跳过空白,c,scanf,C,Scanf,我想读入一个字符串并用sscanf解析它。虽然一开始我不想在任何地方阅读 示例字符串 @a Bear Tiger sscanf(strLine, "@%1s %64s %64s", dir, name1, name2); 我有 问题是,如果电话线像你说的那样接通 @a Bear Tiger 应该是: @a Bear Tiger 它将要读取@字符之前的空格。如何跳过空白并读取@字符 谢谢 sscanf(strLine, " @%1s %64s %64s", dir, nam
@a Bear Tiger
sscanf(strLine, "@%1s %64s %64s", dir, name1, name2);
我有
问题是,如果电话线像你说的那样接通
@a Bear Tiger
应该是:
@a Bear Tiger
它将要读取@字符之前的空格。如何跳过空白并读取@字符
谢谢
sscanf(strLine, " @%1s %64s %64s", dir, name1, name2);
这是必要的,因为
scanf
仅跳过(大多数)转换规范的空白。但是@
是一个“普通字符”,不是转换规范,因此不存在跳过。但是,在格式字符串中添加空格会强制跳过输入空格。+1,应该可以。我想知道你为什么删除了答案。@coda,我在猜测我的答案,因为这两个删除的答案中说明了原因scanf
跳过规范中的空白。但是,我已经找出了区别。+1用于在scanf
格式字符串中使用正确的字段宽度说明符。