读书人

windows,该如何解决

发布时间: 2012-02-04 15:43:09 作者: rapoo

windows
我在从windows移植一个程序到LINUX下的时候,发现有strupr()函数和memicmp()函数在linux下的C函数库中没有,有没有人知道是否有linux下用来代替的函数能够实现同样的功能?



[解决办法]
strupr函数在linux下对应的函数是toupper:
toupper(将小写字母转换成大写字母)
相关函数 isalpha,tolower

表头文件 #include <ctype.h >

定义函数 int toupper(int c);

函数说明 若参数c为小写字母则将该对映的大写字母返回。

返回值 返回转换后的大写字母,若不须转换则将参数c值返回。

附加说明

范例 /* 将s字符串内的小写字母转换成大写字母*/
#include <ctype.h >
main()
{
char s[]=”aBcDeFgH12345;!#$”;
int i;
printf(“before toupper() : %s\n”,s);
for(i=0;I <sizeof(s);i++)
s[i]=toupper(s[i]);
printf(“after toupper() : %s\n”,s);
}

执行 before toupper() : aBcDeFgH12345;!#$
after toupper() : ABCDEFGH12345;!#$

memicmp()在linux下对应的函数是memcmp加toupper
即先把比较的两个字符串先转换成大写再用memcmp进行比较。
[解决办法]
strupr用toupper替换
memicmp用memcmp替换

有更多移植问题可以参考Linux常用C函数手册
http://man.chinaunix.net/develop/c&c++/linux_c/default.htm

读书人网 >UNIXLINUX

热点推荐