如何在C中将大小写混合的字符串转换为小写字符串?

推荐答案

它在标准库中,这是我所能看到的实现这样一个函数的最直接的方式.所以是的,只需遍历字符串并将每个字符转换为小写即可.

像这样的小事:

#include <ctype.h>

for(int i = 0; str[i]; i++){
  str[i] = tolower(str[i]);
}

或者,如果您更喜欢一种衬垫,那么您可以使用J.F.Sebastian的这一种:

for ( ; *p; ++p) *p = tolower(*p);

C++相关问答推荐

为什么listen()(在调用accept()之前)足以让应用程序完成3次握手?

在C语言中使用scanf()时我无法理解的警告

使用NameSurname扫描到两个单独的字符串

GCC预处理宏和#杂注GCC展开

当execvp在C函数中失败时杀死子进程

变量>;-1如何在C中准确求值?

将 struct 变量赋给自身(通过指针取消引用)是否定义了行为?

C语言编译阶段与翻译阶段的关系

GCC创建应用于移动项的单独位掩码的目的是什么?

为什么此共享库没有预期的依赖项?

使用TCL C API导航到列表中的元素

C I/O:在Windows控制台上处理键盘输入

S和查尔有什么不同[1]?

将字符串数组传递给C中的函数:`str[dim1][str_size]`vs`*str[dim1]`

S,在 struct 中创建匿名静态缓冲区的最佳方式是什么?

如何修复我的qsort()算法?它每次都给出不同的结果

为什么二进制文件的大小不会随着静态数据的大小而增加?

向左移位3如何得到以字节为单位的位数?

带有数组指针的 struct 在print_stack()函数中打印随机数

C11 嵌套泛型