首页 > 其他 > 详细

sprintf和sscanf

时间:2019-07-06 16:19:43      阅读:118      评论:0      收藏:0      [点我收藏+]

sprintf

函数声明如下:

int sprintf ( char * str, const char * format, ... );

与printf类似将format后各参数按照format定义的形式转换成一个字符串,不同于printf的是不打印出来,而是存入str指向的缓冲区中。默认将nul补充到字符串末尾,使用时注意缓冲区大小(snprintf)。

返回值:

成功时,返回所写的字符总数。此计数不包括自动附加到字符串末尾的nul字符。

失败时,返回一个负数。

sscanf

函数声明如下:

int sscanf ( const char * s, const char * format, ...);

从s中读取数据,并根据参数格式将数据存储到附加参数指定的位置,就像使用scanf一样,但是从s中读取数据而不是标准输入(stdin)。

返回值:

成功时,函数返回成功填充的参数列表中的项数。该计数可以匹配预期的项数,匹配失败的情况下小于(甚至为零)。

 

示例:

将字符串转整形:

int main()
{
    char *buf = "10000";
    int a = 0;
    sscanf(buf, "%d", &a);
    a += 1000;
    cout << a << endl;
    return 0;
}
//11000

将整形转字符串:

int main()
{
    int a = 10000;
    char buf[1024];
    sprintf(buf, "%d", a);
    string s(buf);
    cout << s << endl;
    return 0;
}
//10000

 

sprintf和sscanf

原文:https://www.cnblogs.com/dabai56/p/11142845.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!