C语言数字转字符串的几种方法

本文探讨了ASCII码的基本操作,如通过加法实现字符转换,并介绍了非标准库函数itoa和标准库函数sprintf在数字转字符和格式化输出中的应用。重点展示了如何将整数转换为字符字符串,并提供了实际代码示例。
摘要由CSDN通过智能技术生成

1、ascii码操作:+0x30
由于char类型的保存形式是ascii码数值,所以可以加上数字0的ascii码48,即0x30,存储数字对应的字符ascii码。

	char str1 = 'c'; // 随便初始化一下
	str1 = 0x30 + 5;
	printf("str1: %c\n", str1);
	printf("str1: %d\n", str1);

输出分别是5和53。
此处扩展一句,由于存储字符的本质是ascii码,所以使用uint8_t或其他类型的变量/数组来存储字符都是可行的。本人项目中就是使用u8来存储的,好处在于该数据结构一定会是8位的,也确定了其无符号的特性。

2、使用itoa(),但它不是标准库函数
这是cstdlib非标准库的函数,顾名思义,integer to ascii,数字转字符。
该函数用法为 char *itoa (int value, char *str, int base); value是原数字,str是要保存进的字符串指针,base是指定的数字进制。一个例子是:

	itoa(123, string, 10);
    printf("string=%s\n", string);

输出则为123。

3、sprintf()函数
这是stdio标准库函数,该函数能够根据指定的需求,格式化内容,存储至指针指向的字符串。用法见:
https://www.runoob.com/cprogramming/c-function-sprintf.html
该网站中的例子为:

	sprintf(str, "Pi 的值 = %f", M_PI);
	puts(str);

输出结果是:Pi 的值 = 3.141593

  • 32
    点赞
  • 132
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值