sscanf 用法示例

sscanf

刺猬@http://blog.csdn.net/littlehedgehog






开始一直不理解sscanf的用法,在教室里看书,没有网可上,就一直来猜这个函数作用,不过也猜得八九不离十了。回头来网上看看,没想到sscanf的作用这么强大。而且它的兄弟sprintf 我一直在用,呵呵,咋就没想到他还有个弟弟呢?


sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源。比如说sscanf("12345","%s",buf) 这里的输入是"12345"这个字符串,然后以字符串的形式存放在buf中。


实例一


  1. char buf[512] = {0};

  2. sscanf("123456 ""%s", buf);  //把"123456"字符串以字符串格式输入buf

  3. printf("%s/n", buf);   //结果为:123456


实例二


  1. sscanf("123456 ""%4s", buf);  // 取最大长度为4字节的字符串。 

  2. printf("%s/n", buf);   // 结果为:1234

 

实例三

  1. sscanf("123456 abcdedf""%[^ ]", buf);  //取遇到空格为止字符串。
  2. printf("%s/n", buf);   //结果为:123456

实例四


  1. sscanf("123456abcdedfBCDEF""%[1-9a-z]", buf);   //取仅包含1到9和小写字母的字符串。
  2. printf("%s/n", buf);   //结果为:123456abcdedf


实例五


  1. sscanf("123456abcdedfBCDEF""%[^A-Z]", buf);   //取遇到大写字母为止的字符串。
  2. printf("%s/n", buf);   //结果为:123456abcdedf

sscanf里面对字符串的处理 有点像正则表达式  不过功能就略逊一筹了。





你可能感兴趣的:(正则表达式)