C语言函数实现 | 02-整型数据转为字符串

Posted Neutionwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言函数实现 | 02-整型数据转为字符串相关的知识,希望对你有一定的参考价值。

const char *int2str(int val)
{
	static char str[12];
	int isNegative = 0;
	int i = 0, j = 0;

	if (val == 0) {
		str[0] = '0';	// ASCII: 48
		str[1] = '\\0';	// ASCII: 0
		return str;
	} else if (val == INT_MIN) {
		int2str(val + 1);
		char *tmp = str;
		while (*tmp != '\\0')
			tmp++;
		tmp--;
		*tmp += 1;
		return str;
	} else if (val < 0) {
		val *= -1;
		isNegative = 1;
		str[i++] = '-';
		j++;
	}
	while (val) {
		str[i++] = val % 10 + '0';
		val /= 10;
	}
	str[i--] = '\\0';
	while (j < i) {
		char ch = str[i];
		str[i--] = str[j];
		str[j++] = ch;
	}

	return str;
}

以上是关于C语言函数实现 | 02-整型数据转为字符串的主要内容,如果未能解决你的问题,请参考以下文章

C语言中 字符串如何转为整型数值

c语言中如何将字符串转化成整数型并输出?

C语言itoa()函数和atoi()函数详解(整数转字符C实现)

C语言itoa()函数和atoi()函数详解(整数转字符C实现)

C语言字符转数字

C语言里怎样理解长整型 短整型 和无符号型变量和常量?