与ASCII码相关的C语言字符串操作函数
投稿:goldensun
这篇文章主要介绍了与ASCII码相关的C语言字符串操作函数,分别是将字符转换为ASCII码的toascii()函数和根据ASCII码进行字符串比较的strcoll()函数,需要的朋友可以参考下
C语言toascii()函数:将字符转换成对应的ASCII码
头文件:
#include <ctype.h>
定义函数:
int toascii(int c);
函数说明:toascii()会将参数c 转换成7 位的unsigned char 值,第八位则会被清除,此字符即会被转成ASCII码字符。
返回值:将转换成功的ASCII 码字符值返回。
范例:将int 型a 转换成ASSII 码字符。
#include <stdlib.h> main(){ int a = 217; char b; printf("before toascii() : a value =%d(%c)\n", a, a); b = toascii(a); printf("after toascii(): a value =%d(%c)\n", b, b); }
执行结果:
before toascii() : a value =217() after toascii() : a value =89(Y)
C语言strcoll()函数:根据环境变量LC_COLLATE来比较字符串
头文件:
#include <string.h>
strcoll() 函数根据环境变量LC_COLLATE来比较字符串,其原型为:
int strcoll( const char * str1, const char * str2 );
【参数说明】str1、str2 是要进行比较的两个字符串。
函数说明:strcoll() 会依环境变量 LC_COLLATE 所指定的文字排列次序来比较 s1 和 s2 字符串。
默认情况下,LC_COLLATE 为"POSIX"或"C",strcoll() 和 strcmp() 一样根据ASCII比较字符串大小。
对于设置了 LC_COLLATE 语言环境的情况下,则根据 LC_COLLATE 设置的语言排序方式进行比较。例如,汉字会根据拼音进行比较。
【返回值】若字符串 str1 和 str2 相同则返回0。若 str1 大于 str2 则返回大于 0 的值,否则返回小于 0 的值。