C/C++中 sprintf的用法和实例


功能:

把格式化的数据写入某个字符串缓冲区。


头文件:

stdio.h


函数原型:

int sprintf( char *buffer, const char *format [, argument] … );


参数列表:

buffer:char型指针,指向将要写入的字符串的缓冲区。

format:格式化字符串。

[argument]...:可选参数,可以是任何类型的数据。


返回值:

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


实例:

#
#
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

//1. 格式化字符串
void test1()
{
    char buf[1024] = {0};
    sprintf(buf,"I am %s\n","LEO");
    printf("buf: %s\n",buf);
    memset(buf ,0 ,1024);
    sprintf(buf,"aaaaa %d bbbb",10);
    printf("buf-int: %s\n",buf);
}

//2.将int类型数据,转化为字符串
void test2()
{
    int number = 100;
    char* str = "hello";
    char buf[1024] = {0};
    char number_string[64] = {0};

    strcat(buf,str);
    sprintf(number_string,"%d ",number);
    strcat(buf,number_string);
    printf("buf : %s \n",buf);

}

//3. 拼接字符串
void test3()
{
    char* a = "hello ";
    char* b = "world ";
    char buf[1024] = {0};
    sprintf(buf,"%s %s",a,b);
    printf("buf_pingjie : %s\n" ,buf);
}

int main()
{
    //test1();
    //test2();
    test3();
    return 0;
}
#
#


上一篇 下一篇