C语言 数字和字符串的转换

1. 字符串转换成数字

头文件: <stdlib.h>

函数原型说明
int atoi(char const *str);将字符串转换成整型数
long atol(char const *str);将字符串转换成长整型数
double atof(char const *str);将字符串转换成浮点型数
long int strtol(char const *str, char **unused, int base);将字符串转换成长整型数
unsigned long int strtoul(char const *str, char **unused, int base);将字符串转换成无符号长整型数
double strtod(char const *str, char **unused);将字符串转换成浮点型数

atol和strtol同样把参数字符串转换为long,但是,strtol保存一个指向转换值后面第1个字符的指针。如果函数的第2个参数并非NULL,这个指针便保存在第2个参数所指向的位置。strtol的第3个参数时转换所执行的基数,如果基数为0,任何在程序中用于书写整数字面值的形式都被接受,包括指定数字基数的形式,如0x13FF和0276。否则,基数值应该在2至36的范围内,然后转换根据这个给定的基数进行。对于基数11到36,字母A到Z分别被解释为数值10到35。

简单示例:

#include <stdio.h>
#include <stdlib.h>

int main() {
	char a[] = "200";
	char b[] = "-100";
	int c;
	c = atoi(a) + strtol(b, NULL, 10);
	printf("c = %d\n", c);
	return 0;
}
结果输出:

c = 100

2. 数字转换成字符串:

利用sprintf函数可以实现数字转换成字符串。

简单示例:

#include <stdio.h>
#include <stdlib.h>
#define SIZE 20

int main() {
	int a = 123456789;
	char str[20];
	sprintf(str, "%d", a);
	puts(str);
	return 0;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值