sprintf函数经典用法总结

#include<stdio.h>
int main()
{

    /* itoa在windows下才有,linus下可以通过sprintf来做转换
	 函数功能:把格式化的数据写入某个字符串
	 返回值:字符串长度
	 */

   //sprintf 函数实现字符串的连接功能
   	 char k[100];
     int test=12345;
    int j=0,n=0;//可以返回字符串长度


	 n=sprintf(k,"qwer123%dhellow world",test);
	 printf("连接后的字符串为:%s\t长度为:%d",k,n);


	char *who="I";//可以替换成who[]="I";
	char *whom="CSDN";
	int c=+123;
	char s[200];
    printf("\n待连接的字符串:%s\t%s\t%d\n",who,whom,c);
	j=sprintf(s,"%s love %s %d.",who,whom,c);//产生:"I love CSDN." 这字符串写到s中
	 printf("连接后的字符串为:%s\t长度为:%d",s,j);



	 //sprintf 函数实现itoa的功能


	 n=sprintf(k,"123%d",test);
	 printf("\n原来的整形数为:%d",test);
	 printf("\n转换后的字符串数据为:%s\t长度为:%d\n",k,n);

    //变成十六进制的字符串

    printf("\n原十进制数为:4567");
    sprintf(s, "%8x", 4567); //小写16 进制,宽度占8 个位置,右对齐
    printf("\n转换后的十六进制小写字符串为:%s\n",s);

     sprintf(s, "%o", 4567); //小写16 进制,宽度占8 个位置,右对齐
    printf("转换后的八进制字符串为:%s\n",s);


    printf("\n原十进制数为:4568\n");
    sprintf(s, "%-8X", 4568); //大写16 进制,宽度占8 个位置,左对齐
    printf("转换后的十六进制大写字符串为:%s\n",s);


    sprintf(s, "%-8o", 4568); //大写16 进制,宽度占8 个位置,左对齐
    printf("转换后的八进制字符串为:%s\n",s);


}

结果演示:

更多的用法请参考:https://blog.csdn.net/sjf331/article/details/339254

展开阅读全文

没有更多推荐了,返回首页