提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
提示:以下是本篇文章正文内容,下面案例可供参考
一、sscanf读取带空格的字符串
char buff[50] = {0};
/* 输出 hello */
sscanf("12.0 - hello world", "%*[^-]- %s", buff);
printf("%s\n", buff);
/* 输出 hello world (windows系统测试通过,linux系统输出异常) */
sscanf("12.0 - hello world", "%*[^-]- %[^\0]", buff);
printf("%s\n", buff);
/* 输出 hello world(windows和linux系统测试都通过 */
sscanf("12.0 - hello world", "%*[^-]- %[^\n\t]", buff);
printf("%s\n", buff);
/* 备注:
* linux系统和windows系统的区别。
*/
二、sscanf读取字符串中的数据
int num;
char text[10] = {0};
// 输出num=12 text="U"
sscanf("U12", "%*[^0-9]%d", &num);
sscanf("U12", "%[^0-9]", text);
printf("%d %s\n", num, text);
// 输出0, 这里注意
sscanf("12", "%*[^0-9]%d", &num);
printf("%d\n", num);