sscanf和sprintf用法详解

sscanf函数

头文件 iostream里,
sscanf具有从字符串中取出整数,浮点数,和字符串等功能;

sscanf将str字符串以format格式进行转换,并将转换的结果存于对应的参数内。

sscanf定义:
int sscanf (const char *str, const char * format,…);
返回值:

成功则返回参数数目;

失败则返回-1;

例如:sscanf(str,"%d%d%s", &i,&i2, &s);

如果三个都读入成功,则返回3;

如果只读入第一个整数到i则返回1。

sscanf可以从字符串中取出整数、浮点数和字符串等等。

①常见用法。

char str[512]={0};

sscanf(“123456”,"%s",str);

printf(“str=%s”, str);

②取指定长度的字符串。

如在下例中,取最大长度为4字节的字符串。

sscanf(“123456”,"%4s",str);

printf(“str=%s”, str);

③取指定字符为止的字符串。

如在下例中,取遇到空格为止字符串。

sscanf(“123456abcdedf”,"%[^]", str);

printf(“str=%s”, str);

④取仅包含指定字符集的字符串。

如在下例中,取仅包含1到9和小写字母的字符串。

sscanf(“123456abcdedfBCDEF”,"%[1-9a-z]",str);

printf(“str=%s”,str);

⑤取指定字符集为止的字符串。

如在下例中,取遇到大写字母为止的字符串。

sscanf(“123456abcdedfBCDEF”,"%[^A-Z]",str);

printf(“str=%s”,str);

另一用法:
sscanf() - 从一个字符串中读进与指定格式相符的数据.

语法:

int sscanf( string str, string fmt, mixed var1, mixed var2 … );

用法:

每一个%d、%s对应一个参数, 按顺序var1, var2 …,

%d读入一个整数到参数中, 而%s 读入一个字符串.

*亦可用于格式中,即%*d 和%s,加了星号 () 表示跳过此数据不读入。

sscanf()返回符合格式的%d和%s总数;

sprintf

sprintf指的是字符串格式化命令,函数声明为 int sprintf(char *string, char *format [,argument,…]);,主要功能是把格式化的数据写入某个字符串中,即发送格式化输出到 string 所指向的字符串。
int sprintf(char *string, char *format [,argument,…]);
如果成功,则返回写入的字符总数,不包括字符串追加在字符串末尾的空字符。如果失败,则返回一个负数。
sprintf 返回以format为格式argument为内容组成的结果被写入string的字节数,结束字符‘\0’不计入内。即,如果“Hello”被写入空间足够大的string后,函数sprintf 返回5。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值