sprintf函数的用法
- sprintf和平时我们常用的printf函数功能很相似。sprintf函数打印到字符串中,而printf函数打印输出到屏幕中。sprintf函数在我们完成其他数据类型转换成字符串类型的操作中应用广泛
- 该函数包含在stdio.h的头文件中
基本类型转字符串类型
#define _CRT_SECURE_NO_WARNINGS
//基本数据类型和字符串互转
#include <stdio.h>
void main() {
char str1[20]; //字符数组,即字符串
char str2[20];
char str3[20];
int a=20984,b=48090;
double d=14.309948;
//说明
//1. sprintf 是一个系统函数,可以将结果存放到字符串中
//2. 格式化的结果,会存放到 str1中
sprintf(str1,"%d %d",a,b);
sprintf(str2, "%.2f", d);
sprintf(str3, "%8.2f", d); //%8.2f 含义是格式化后,一共有8位,小数点后占用2位, 不够用空格占位
printf("str1=%s\nstr2=%s\nstr3=%s", str1, str2, str3);
getchar();
}
字符串类型转基本数据类型
atoi / atof 函数包含在<stdlib.h>头文件中
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
void main() {
//字符数组
char str[10] = "123456";
char str2[10] = "12.67423";
char str3[3] = "ab";
char str4[4] = "111";
//说明
//1. atoi(str) 将 str 转成整数
//如果字符串里边是“hello”,那么会转成0或者0.0
int num1 = atoi(str);
short s1 = atoi(str4);
//说明
//1. atof(str2); 将 str2 转成小数
double d = atof(str2);
//说明
//1. str3[0] 表示获取到 str3这个字符串(数组)的第一个元素 'a'
char c = str3[0];
printf("num1 = %d\nd = %f\nc = %c\ns1 = %d", num1, d, c, s1);//
getchar();
}
注意事项
- 在将char数组类型转成基本数据类型时,要确保能够转成有效的数据(不能将hello转成一个整数)
- 如果格式不正确,会默认转成0或者0.0