当前位置: 首页 > news >正文

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

前言:
在C语言中,大小写字母相互转换是一个常见的操作。本文将详细介绍C语言中实现大小写字母相互转换的各种方法,并附上代码示例。

目录

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

二、使用位操作

三、使用字符串操作函数


一、使用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()函数、使用位操作以及使用字符串操作函数等。大家可以根据不同的需要自行选择,当然,还有更多的方法等待你来探索。

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

http://www.lryc.cn/news/295327.html

相关文章:

  • macOS的设置与常用软件(含IntelliJ IDEA 2023.3.2 Ultimate安装,SIP的关闭与开启)
  • http伪造本地用户字段系列总结
  • Hadoop-IDEA开发平台搭建
  • block任务块、rescue和always、loop循环、role角色概述、role角色应用、ansible-vault、sudo提权、特殊的主机清单变量
  • Qt:QFileDialog
  • 我的QQ编程学习群
  • 【C++】类与对象(四)——初始化列表|explicit关键字|static成员|友元|匿名对象
  • ChatGPT高效提问—prompt常见用法
  • 使用vite创建vue+ts项目,整合常用插件(scss、vue-router、pinia、axios等)和配置
  • 泛型、Trait 和生命周期(上)
  • <网络安全>《18 数据安全交换系统》
  • Kafka 生产调优
  • springboot162基于SpringBoot的体育馆管理系统的设计与实现
  • Interpolator:在Android中方便使用一些常见的CubicBezier贝塞尔曲线动画效果
  • Nacos安装,服务注册,负载均衡配置,权重配置以及环境隔离
  • Vue3导出数据为txt文件
  • Simulink中getConfigSet用法
  • 【Algorithms 4】算法(第4版)学习笔记 05 - 2.2 归并排序
  • mybatis mapper sql include用法实现sql块复用
  • 正点原子--STM32通用定时器学习笔记(2)
  • Flask实现异步调用sqlalchemy的模型类
  • Pocket2Mol + Generation of Atom Positions生成原子位置的方法有什么?联合概率是什么?
  • 区分手机小程序以及电脑小程序;左滑、导航键返回拦截
  • Web APIs 2 事件
  • 网易腾讯面试题精选----90道设计模式面试题及答案
  • 程序员的数字化工作台:理解不关机背后的逻辑与需求
  • Java Socket Server TCP服务端向指定客户端发送消息
  • java日志框架总结(五、logback日志框架)
  • android下library打包aar并上传到maven,嵌入版的app
  • Xampp中Xdebug的安装使用