C语言 --- sprintf用法

简介: C语言 --- sprintf用法

头文件:#include

sprintf()函数用于将格式化的数据写入字符串,其原型为:

int sprintf(char *str, char * format [, argument, ...]);

【参数】str为要写入的字符串;format为格式化字符串,与printf()函数相同;argument为变量。

除了前两个参数类型固定外,后面可以接任意多个参数。而它的精华,显然就在第二个参数–格式化字符串–上。 printf()和sprintf()都使用格式化字符串来指定串的格式,在格式串内部使用一些以“%”开头的格式说明符(format specifications)来占据一个位置,在后边的变参列表中提供相应的变量,最终函数就会用相应位置的变量来替代那个说明符,产生一个调用者想要的字符串。

下面看一下具体用法

#include <stdio.h>
void test(){
  //1. 格式化字符串
  char buf[1024] = { 0 };
  sprintf(buf, "你好,%s,欢迎加入我们!", "John");
  printf("buf:%s\n",buf);
  memset(buf, 0, 1024);
  sprintf(buf, "我今年%d岁了!", 20);
  printf("buf:%s\n", buf);
  //2. 拼接字符串
  memset(buf, 0, 1024);
  char str1[] = "hello";
  char str2[] = "world";
  int len = sprintf(buf,"%s %s",str1,str2);
  printf("buf:%s len:%d\n", buf,len);
  //3. 数字转字符串
  memset(buf, 0, 1024);
  int num = 100;
    int f = 100.111;
  sprintf(buf, "%d", num);
  memset(buf, 0, 1024);
    int f = 100.111;
    sprintf(buf, "%f", f);
  printf("buf:%s\n", buf);
    //4. 设置对齐与输出格式
  //设置宽度 右对齐
  memset(buf, 0, 1024);
  sprintf(buf, "%8d", num);
  printf("buf:%s\n", buf);
  //设置宽度 左对齐
  memset(buf, 0, 1024);
  sprintf(buf, "%-8d", num);
  printf("buf:%s\n", buf);
  //转成16进制字符串 小写
  memset(buf, 0, 1024);
  sprintf(buf, "0x%x", num);
  printf("buf:%s\n", buf);
  //转成8进制字符串
  memset(buf, 0, 1024);
  sprintf(buf, "0%o", num);
  printf("buf:%s\n", buf);
}
int main(void)
{
    test();
    return 0;
}

参看链接:

https://zhuanlan.zhihu.com/p/82096000

https://blog.csdn.net/m0_37714594/article/details/80398276


目录
相关文章
|
2月前
|
算法 编译器 C语言
C语言猜数字小游戏(也包含python实现的用法)
本文基于VS2022、pycharm和前面的知识,写一个凭借分支与循环的小游戏,比如: 写一个猜数字游戏 游戏要求: 电脑自动生成1~100的随机数 玩家猜数字,猜数的过程中,根据猜测数据的大小给出大了或小了的反馈,直到猜对,游戏结束 在pyhton中生成随机数是比较简单的,可以直接导入random的包,直接生成随机数,导致写猜数字小游戏变成了判读语句和循环语句嵌套就能写出来,所以我不做过多的介绍了,可以直接看后面的代码展示,想了解更多的python可看python的基础知识,这里面有我在学习python的过程中写的笔记
31 0
|
5月前
|
编译器 C语言
C语言的转义字符,转义字符的用法
C语言的转义字符,转义字符的用法
|
5月前
|
C语言
C 语言中布尔值的用法和案例解析
在编程中,您经常需要一种只能有两个值的数据类型,例如: - 是/否 - 开/关 - 真/假 为此,C语言有一个 `bool` 数据类型,称为布尔值。
113 1
|
5月前
|
存储 C语言 索引
【c语言指针详解】复杂数据结构的指针用法
【c语言指针详解】复杂数据结构的指针用法
78 0
|
5月前
|
存储 C语言
【c语言指针详解】指针的基本概念和用法
【c语言指针详解】指针的基本概念和用法
65 0
|
7天前
|
Unix Linux 编译器
C语言中EOF的用法
C语言中EOF的用法
7 0
|
2月前
|
C语言
C语言4🔥:运算符,运算符的基本用法
C语言4🔥:运算符,运算符的基本用法
33 0
|
2月前
|
C语言
C语言中关键字static的三种用法
C语言中关键字static的三种用法
|
5月前
|
算法 Java C语言
【新手解答6】深入探索 C 语言:算法流程图(条件判断、循环)+ 字符常量 + switch的具体用法 + 关于`namespace` + import vs include
【新手解答6】深入探索 C 语言:算法流程图(条件判断、循环)+ 字符常量 + switch的具体用法 + 关于`namespace` + import vs include
98 0
|
6月前
|
C语言
关键字static在C语言中的三种用法
关键字static在C语言中的三种用法
37 0