Sprintf函数相关用法

来源:互联网 发布:csgo和cf知乎 编辑:程序博客网 时间:2024/05/19 13:24

Sprintf函数相关用法

int sprintf( char *buffer, const char *format, [ argument] … );指的是字符串格式化命令.

1)头文件stdio.h

(2)主要功能: 是把格式化的数据写入某个字符串中。

sprintf 是个变参函数。使用sprintf对于写入buffer的字符数是没有限制的,这就存在了buffer溢出的可能性。

sprintf的作用是将一个格式化的字符串输出到一个目的字符串中,而printf是将一个格式化的字符串输出到屏幕。sprintf的第一个参数应该是目的字符串,如果不指定这个参数,执行过程中出现 "该程序产生非法操作,即将被关闭...."的提示

注意C语言对数组进行操作时并不检测数组的长度,如果str的长度不够,sprintf()很容易造成缓冲区溢出,带来意想不到的后果

(3返回值

返回写入buffer 的字符数,出错则返回-1.如果buffer 或format 是空指针,且不出错而继续,函数将返回-1,并且 errno会被设置为 EINVAL

sprintf返回以format为格式argument为内容组成的结果被写入buffer 的字节数,结束字符‘\0’不计入内。即,如果“Hello”被写入空间足够大的buffer后,函数sprintf返回5同时buffer的内容将被改变

原创粉丝点击