c语言字符编码转换库函数 c语言编程字符转换

C语言如何把一个字符串转换成数字C语言中,可以使用atoi函数将字符串转换为数字 , 如atoi("123")可以得到数字123 。
atoi (表示 ascii to integer)是把字符串转换成整型数的一个函数,应用在计算机程序和办公软件中 。int atoi(const char *nptr) 函数会扫描参数 nptr字符串 , 会跳过前面的空白字符(例如空格,tab缩进)等 。
如果 nptr不能转换成 int 或者 nptr为空字符串,那么将返回0 。特别注意,该函数要求被转换的字符串是按十进制数理解的 。atoi输入的字符串对应数字存在大小限制(与int类型大小有关),若其过大可能报错-1 。
扩展资料:
C语言中数字转化为字符串的方案:
使用sprintf函数来实现 , 如sprintf("%d", 123)可以得到字符串"123" 。
sprintf指的是字符串格式化命令,主要功能是把格式化的数据写入某个字符串中 。sprintf 是个变参函数 。使用sprintf 对于写入buffer的字符数是没有限制的,这就存在了buffer溢出的可能性 。解决这个问题,可以考虑使用 snprintf函数 , 该函数可对写入字符数做出限制 。
参考资料来源:百度百科-atoi
整型转换字符串的库函数 C语言函数原形
char
*itoa(int
value,
char
*string,
int
radix)
将整形数value转换为其等价的字符串
头文件stdlib.h
Parameters(参数说明)
value
Number
to
be
converted(将要被转换的值)
string
String
result(转换的结果)
radix
Base
of
value;
must
be
in
the
range
2

36
(转换的基数,取值范围2-36 。例如radix=10表示10进制,radix=8表示8进制 。)
返回值:与string参数相同,便于函数的嵌套调用
例子:(来自MSDN,有删改)
#i
nclude
#i
nclude
void
main(
void
)
{
char
buffer[20];
int
i
=
3445;
itoa(
i,
buffer,
10
);
printf(
"String
of
integer
%d
(radix
10):
%s\n",
i,
buffer
);
itoa(
i,
buffer,
16
);
printf(
"String
of
integer
%d
(radix
16):
0x%s\n",
i,
buffer
);
itoa(
i,
buffer,
2
);
printf(
"String
of
integer
%d
(radix
2):
%s\n",
i,
buffer
);
system("pause");
}
C语言字符串处理的库函数有哪些函数名: strrchr
功能: 在串中查找指定字符的最后一个出现
用法: char *strrchr(char *str, char c);
举例:
[cpp] view plain copy
char fullname="./lib/lib1.so";
char *ptr;
ptr = strrchr(fullname,'/');
printf("filename is %s",++ptr);
//运行结果:filename is lib1.so
函数名: strchr
功能: 在串中查找指定字符的第一个出现
用法: char *strchr(char *str, char c);
举例:
[cpp] view plain copy
char fullname="./lib/lib1.so";
char *ptr;
ptr = strrchr(fullname,'.');
printf("after strchr() is %s",++ptr);
//运行结果:after strchr() is/lib/lib1.so
函数名: strtok
功能: 在串中查找指定字符的第一个出现
用法: char *strtok(char *s, char *delim);
说明:
1.strtok函数的实质上的处理是 , strtok在s中查找包含在delim中的字符并用NULL(’/0′)来替换,直到找遍整个字符串 。这句话有两层含义:(1)每次调用strtok函数只能获得一个分割单位 。(2)要获得所有的分割单元必须反复调用strtok函数 。

推荐阅读