C 语言函数:巧妙转化数据类型217


在 C 语言编程中,数据类型起着至关重要的作用,它决定了变量可以存储的值和运算符可以执行的操作。但是,有时我们需要在程序中转换数据类型以满足特定的要求。为此,C 语言提供了丰富的函数库,它们可以高效地执行数据类型转换。

atoi() 函数:字符串转整数

atoi() 函数将字符串转换为整数。该函数接受一个字符串指针作为参数,并将其转换为等效的整数。如果转换成功,它将返回转换后的整数;否则,它将返回 0。
int num;
char str[] = "123";
num = atoi(str);
// num 现在为 123

atol() 函数:字符串转长整数

atol() 函数类似于 atoi() 函数,但它可以将字符串转换为长整数 (long int)。它也接受一个字符串指针作为参数,并返回转换后的长整数。
long num;
char str[] = "123456789";
num = atol(str);
// num 现在为 123456789

atof() 函数:字符串转浮点数

atof() 函数将字符串转换为浮点数。它接受一个字符串指针作为参数,并返回转换后的浮点数。如果转换成功,它将返回转换后的浮点数;否则,它将返回 0.0。
float num;
char str[] = "123.45";
num = atof(str);
// num 现在为 123.45

strtol() 函数:字符串转长整数 (进制指定)

strtol() 函数提供更灵活的字符串到长整数的转换。它接受三个参数:字符串指针、指向基数指针的指针和指向数字结束指针的指针。基数参数指定要使用的基数,可以是 0 到 36 之间的任何数字。
char str[] = "10101";
long num;
char *endptr;
// 将字符串转换为十进制整数
num = strtol(str, &endptr, 2);
// num 现在为 21

strtoul() 函数:字符串转无符号长整数 (进制指定)

strtoul() 函数与 strtol() 函数类似,但它将字符串转换为无符号长整数。它也接受三个参数:字符串指针、指向基数指针的指针和指向数字结束指针的指针。
char str[] = "10101";
unsigned long num;
char *endptr;
// 将字符串转换为无符号十进制整数
num = strtoul(str, &endptr, 2);
// num 现在为 21

ulltoa() 函数:无符号长整数转字符串

ulltoa() 函数将无符号长整数转换为字符串。它接受三个参数:无符号长整数、目标字符串和基数。基数参数指定要使用的基数,可以是 0 到 36 之间的任何数字。
unsigned long num = 123;
char str[10];
// 将无符号长整数转换为十六进制字符串
ulltoa(num, str, 16);
// str 现在为 "7B"

lltoa() 函数:长整数转字符串

lltoa() 函数与 ulltoa() 函数类似,但它将长整数转换为字符串。它也接受三个参数:长整数、目标字符串和基数。
long num = -123;
char str[10];
// 将长整数转换为十进制字符串
lltoa(num, str, 10);
// str 现在为 "-123"

结语

C 语言提供了丰富的函数库,可以轻松地在不同数据类型之间进行转换。这些函数对于操纵数据、格式化输出和进行各种计算至关重要。通过熟练使用这些函数,程序员可以编写高效且灵活的 C 程序。

2025-01-27


上一篇:用 C 语言趣味输出

下一篇:C语言分段函数实现指南