当前位置:  技术问答>linux和unix

sscanf使用出错?

    来源: 互联网  发布时间:2016-11-04

    本文导语:  代码如下: int main() {   char str[]=""7754321"rn";   char buf[50];   memset(buf,'',sizeof(buf));   sscanf(&(str[0]),""%s"",buf);   printf("str=[%s],buf=[%s]n",str,buf); } 输出结果: str=["7754321" ],buf=[7754321"] 但我的想法是输出buf=7754321而不需要红...

代码如下:
int main()
{
  char str[]=""7754321"rn";
  char buf[50];
  memset(buf,'',sizeof(buf));
  sscanf(&(str[0]),""%s"",buf);
  printf("str=[%s],buf=[%s]n",str,buf);
}
输出结果:
str=["7754321"
],buf=[7754321"]

但我的想法是输出buf=7754321而不需要红色的引号,为什么"%s"会把最后一个引号也读取进来呢。 

|
如果单纯指定%s的话,双引号"自身也是字符串的一部分,也会被匹配
"%[^"]s 表示不匹配"符号

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关于sscanf从缓冲区读取负数的问题
  • how to use sscanf?
  • sscanf解包 求助
  • 内核态下sscanf的警告信息
  • NOSQL iis7站长之家
  • 浅析C语言中printf(),sprintf(),scanf(),sscanf()的用法和区别
  • 浅析C语言中sscanf 的用法


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3