C语言——字符串大小写互换

简介: C语言——字符串大小写互换

一、使用tolower()和toupper()函数

C语言标准库提供了tolower()和toupper()两个函数,分别用于将大写字母转换为小写字母,以及将小写字母转换为大写字母。这两个函数的原型如下:

int tolower(int c);
int toupper(int c);

其中,c表示要转换的字符。

示例:

#include <stdio.h>
#include <ctype.h>
 
int main() {
    char str[] = "Hello WORLD!";
    
    // 将字符串中的大写字母转换为小写字母
    for (int i = 0; str[i] != '\0'; i++) {
        if (isupper(str[i])) {
            str[i] = tolower(str[i]);
        }
    }
    
    printf("The converted string is: %s\n", str);
 
    return 0;
}

二、使用位操作

位操作是一种通用的方法,可以用于大小写字母的转换。对于ASCII码,大写字母的范围是65-90,小写字母的范围是97-122。我们可以利用这个范围差异进行位操作。

示例:

#include <stdio.h>
 
int main() {
    char str[] = "Hello WORLD!";
    
    // 将字符串中的大写字母转换为小写字母
    for (int i = 0; str[i] != '\0'; i++) {
        if (str[i] >= 'A' && str[i] <= 'Z') {
            str[i] = (str[i] - 'A' + 'a') % 26 + 'a';
        }
    }
    
    printf("The converted string is: %s\n", str);
 
    return 0;
}

三、使用字符串操作函数

C语言标准库提供了strlwr()和strupr()两个函数,分别用于将小写字母转换为大写字母,以及将大写字母转换为小写字母。这两个函数的原型如下:

char *strlwr(char *str);
char *strupr(char *str);

示例:

#include <stdio.h>
 
int main() {
    char str[] = "Hello WORLD!";
    
    // 将字符串中的大写字母转换为小写字母
    str = strlwr(str);
    
    printf("The converted string is: %s\n", str);
 
    return 0;
}

总结,在C语言中实现大小写字母相互转换有多种方法,包括使用tolower()和toupper()函数、使用位操作以及使用字符串操作函数等。大家可以根据不同的需要自行选择,当然,还有更多的方法等待你来探索。

创作不易,还请点上一个大大的赞。

相关文章
|
9天前
|
NoSQL 程序员 Redis
C语言字符串的设计缺陷
C语言字符串的设计缺陷
21 1
|
4天前
|
C语言
C语言学习笔记之初识字符串
C语言学习笔记之初识字符串
18 5
|
3天前
|
C语言
c语言左旋字符串问题(不同方法超详细解答)
c语言左旋字符串问题(不同方法超详细解答)
7 1
|
23天前
|
安全 编译器 C语言
C语言学习记录——字符串相关函数及部分模拟(strcmp、strncmp、strncat、strncpy、strstr、strtok、strerror)
C语言学习记录——字符串相关函数及部分模拟(strcmp、strncmp、strncat、strncpy、strstr、strtok、strerror)
15 1
|
23天前
|
C语言
C语言学习记录——模拟字符串相关函数(strcpy、strlen、strcat)相关知识-const、typedef
C语言学习记录——模拟字符串相关函数(strcpy、strlen、strcat)相关知识-const、typedef
13 1
|
1天前
|
安全 C语言 开发者
C语言中的字符串
C语言中的字符串
5 0
|
23天前
|
算法 C语言
C语言——oj刷题——字符串左旋和轮转数组
C语言——oj刷题——字符串左旋和轮转数组
14 1
|
29天前
|
存储 C语言
字符串的引用方式在C语言中的探讨
字符串的引用方式在C语言中的探讨
22 5
|
1月前
|
C语言
C语言基础 - 字符串/字符数组最易错考点
该文探讨了C语言中&#39;\0&#39;字符对字符串和字符数组的重要性,以及`strlen`和`sizeof`的区别。&#39;\0&#39;作为字符串的结束标志,确保了正确打印和计算字符串长度。示例代码显示,未包含&#39;\0&#39;的字符数组打印时可能出现随机值。`strlen`计算字符串长度,不包含&#39;\0&#39;,而`sizeof`返回变量或数组的总字节数,包括&#39;\0&#39;。文章还提醒注意转义字符在字符串中的影响,例如`\t`和`\62`。最后总结了字符串和字符数组处理时应注意的要点。
33 0
C语言基础 - 字符串/字符数组最易错考点
|
14天前
|
C语言
C语言——字符串操作函数
C语言——字符串操作函数
10 0