如何在C中将大小写混合的字符串转换为小写字符串?
发布于 2010-04-18 17:44:18
它在标准库中,这是我所能看到的实现这样一个函数的最直接的方法。所以是的,只需遍历字符串并将每个字符转换为小写。
像这样微不足道的东西:
#include <ctype.h>
for(int i = 0; str[i]; i++){
str[i] = tolower(str[i]);
}
或者如果你更喜欢一种衬垫,那么你可以使用J.F. Sebastian的这一种:
for ( ; *p; ++p) *p = tolower(*p);
发布于 2010-04-18 18:36:16
如果您将自己限制为ASCII,则转换为小写相当于上升位0x60:
for(char *p = pstr; *p; ++p)
*p = *p > 0x40 && *p < 0x5b ? *p | 0x60 : *p;
发布于 2010-11-20 03:43:54
如果您需要小写函数中的Unicode支持,请参阅此问题:Light C Unicode Library
https://stackoverflow.com/questions/2661766
复制相似问题