与ASCII码相关的C语言字符串操作函数

时间:2021-11-17 06:18:19

C语言toascii()函数:将字符转换成对应的ASCII
头文件:

?
1
#include <ctype.h>

定义函数:

?
1
int toascii(int c);

函数说明:toascii()会将参数c 转换成7 位的unsigned char 值,第八位则会被清除,此字符即会被转成ASCII码字符。

返回值:将转换成功的ASCII 码字符值返回。

范例:将int 型a 转换成ASSII 码字符。

?
1
2
3
4
5
6
7
8
#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);
}

执行结果:

?
1
2
before toascii() : a value =217()
after toascii() : a value =89(Y)

C语言strcoll()函数:根据环境变量LC_COLLATE来比较字符串
头文件:

?
1
#include <string.h>

strcoll() 函数根据环境变量LC_COLLATE来比较字符串,其原型为:

?
1
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 的值。