qidao123.com技术社区-IT企服评测·应用市场

标题: C语言中数字转化为字符串的方法  [打印本页]

作者: 罪恶克星    时间: 2025-5-2 20:47
标题: C语言中数字转化为字符串的方法 
C语言中数字转化为字符串的方法
 
1. 使用 sprintf 函数
这是 stdio.h 头文件中的标准库函数 ,功能雷同于 printf ,但不是输出到控制台,而是将格式化后的内容输出到字符数组(字符串)中。
示例代码:
 
c
#include <stdio.h>
int main() {
    int num = 123;
    char str[20];//定义足够大的字符数组存储转换后的字符串
    sprintf(str, "%d", num);
    printf("转换后的字符串为: %s\n", str);
    return 0;

 
 
这里先定义了整数 num  ,再定义字符数组 str , sprintf(str, "%d", num);  按 %d (十进制整数)格式将 num 转换为字符串存到 str 中 ,最后输出。
2. 使用 snprintf 函数
和 sprintf 雷同,更安全,可防止缓冲区溢出,会根据指定缓冲区大小进行转换利用。
示例代码:
 
c
#include <stdio.h>
int main() {
    int num = 789;
    char str[20];
    snprintf(str, sizeof(str), "%d", num); 
    printf("转换后的字符串为: %s\n", str);
    return 0;

 
 
 snprintf(str, sizeof(str), "%d", num);  中 sizeof(str) 指定 str 数组大小,函数依此转换 ,避免缓冲区溢出。
3. 使用 itoa 函数(非标准C函数,但被广泛支持 )
可将整数转换为字符串 ,基本形式是 itoa(int value, char* string, int radix)  , value 是要转换的整数, string 是存储转换后字符串的字符数组, radix 是转换的进制数。
示例代码:
 
c
#include <stdio.h>
#include <stdlib.h> 
int main() {
    int num = 456;
    char str[20];
    itoa(num, str, 10); 
    printf("转换后的字符串为: %s\n", str);
    return 0;

 
 
需留意 itoa 不是标准C函数,很多编译器环境中可通过包含 stdlib.h 使用 ,这里将 num 转换为十进制字符串存到 str

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 qidao123.com技术社区-IT企服评测·应用市场 (https://dis.qidao123.com/) Powered by Discuz! X3.4