日期:2014-05-16  浏览次数:20764 次

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