C
语言 sprintf()
实现将多个值按指定格式拼接成字符串
举个例子 🌰:将字符串 “
m
” 与数字0
、1
、2
动态拼接成 “m0
”、“m1
”、“m2
”:👇🏻
#include <stdio.h> // 包含标准输入输出库,用于使用输入输出函数(如 printf 和 sprintf)
#include <string.h> // 包含字符串处理函数库,用于使用字符串相关函数(如 strlen)
int main() {
char base[] = "m"; // 定义一个字符数组 base,初始化为字符串 "m"
char result[10]; // 定义一个字符数组 result,用于存储拼接后的结果,大小为 10
for (int i = 0; i < 3; i++) { // 使用 for 循环遍历数字 0、1、2
sprintf(result, "%s%d", base, i); // 使用 sprintf 将 base 和数字 i 拼接成字符串,并存储到 result 中
printf("%s\n", result); // 输出拼接后的字符串 result,并在末尾换行
}
return 0; // 程序正常结束
}
m0
m1
m2
代码说明 📚
-
1、基础字符串:🎀
base
是基础字符串 “m
”。
-
2、结果字符串:🎀
result
是用于存储拼接结果的字符数组,大小为10
,确保足够容纳拼接后的字符串。
-
3、循环拼接:🎀
-
使用
for
循环遍历数字0
、1
、2
。 -
使用
sprintf
将base
和当前数字i
拼接成字符串,并存储到result
中。 -
使用
printf
输出拼接后的字符串。
-
-
4、
sprintf
函数:🎀-
sprintf
是格式化字符串函数,可以将多个值按指定格式拼接成字符串。 -
“
%s%d
” 是格式化字符串,%s
表示字符串,%d
表示整数。
-
扩展:动态拼接更多数字 🪜
如果需要拼接更多数字(例如
0
到9
),只需修改循环条件即可:
for (int i = 0; i < 10; i++) { // 遍历数字 0 到 9
sprintf(result, "%s%d", base, i);
printf("%s\n", result);
}
m0
m1
m2
m3
m4
m5
m6
m7
m8
m9
【注意事项 💥】
sprintf
的格式化字符串 “%s%d
” 中,%s
和%d
的顺序和类型必须与实际参数匹配。