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()函数、使用位操作以及使用字符串操作函数等。大家可以根据不同的需要自行选择,当然,还有更多的方法等待你来探索。
创作不易,还请点上一个大大的赞。
相关文章:
C语言——字符串大小写互换
前言: 在C语言中,大小写字母相互转换是一个常见的操作。本文将详细介绍C语言中实现大小写字母相互转换的各种方法,并附上代码示例。 目录 一、使用tolower()和toupper()函数 二、使用位操作 三、使用字符串操作函数 一、使用tolower()和t…...
macOS的设置与常用软件(含IntelliJ IDEA 2023.3.2 Ultimate安装,SIP的关闭与开启)
目录 1 系统设置1.1 触控板1.2 键盘 2 软件篇2.1 [科学上网](https://justmysocks5.net/members/)2.1 [安装Chrome浏览器](https://www.google.cn/chrome/index.html)2.2 [安装utools](https://www.u.tools)2.3 [安装搜狗输入法](https://shurufa.sogou.com/)2.4 [安装snipaste…...
http伪造本地用户字段系列总结
本篇记录了http伪造本地用户的多条字段,便于快速解决题目 用法举例: 直接把伪造本地用户的多个字段复制到请求头中,光速解决部分字段被过滤的问题。 Client-IP: 127.0.0.1 Forwarded-For-Ip: 127.0.0.1 Forwarded-For: 127.0.0.1 Forwarded…...
Hadoop-IDEA开发平台搭建
1.安装下载Hadoop文件 1)hadoop-3.3.5 将下载的文件保存到英文路径下,名称一定要短。否则容易出问题; 2)解压下载下来的文件,配置环境变量 3)我的电脑-属性-高级设置-环境变量 4.详细配置文件如下&#…...
block任务块、rescue和always、loop循环、role角色概述、role角色应用、ansible-vault、sudo提权、特殊的主机清单变量
任务块 可以通过block关键字,将多个任务组合到一起可以将整个block任务组,一起控制是否要执行 # 如果webservers组中的主机系统发行版是Rocky,则安装并启动nginx[rootpubserver ansible]# vim block1.yml---- name: block taskshosts: webse…...
Qt:QFileDialog
目录 一、介绍 二、功能 三、具体事例 1、将某个界面保存为图片,后缀名可选PNG、JPEG、SVG等 一、介绍 QFileDialog提供了一个对话框,允许用户选择文件或者目录,也允许用户遍历文件系统,用以选择一个或多个文件或者目录。 QF…...
我的QQ编程学习群
欢迎大家加入我的QQ编程学习群。 群号:950365002 群里面有许多的大学生大佬,有编程上的疑惑可以随时问,也可以聊一些休闲的东西。 热烈欢迎大家加入!! 上限:150人。...
【C++】类与对象(四)——初始化列表|explicit关键字|static成员|友元|匿名对象
前言: 初始化列表,explicit关键字,static成员,友元,匿名对象 文章目录 一、构造函数的初始化列表1.1 构造函数体内赋值1.2 初始化列表 二、explicit关键字三、static成员四、友元4.1 友元函数4.2 友元类 五、内部类六、…...
ChatGPT高效提问—prompt常见用法
ChatGPT高效提问—prompt常见用法 1.1 角色扮演 prompt最为常见的用法是ChatGPT进行角色扮演。通常我们在和ChatGPT对话时,最常用的方式是一问一答,把ChatGPT当作一个单纯的“陪聊者”。而当我们通过prompt为ChatGPT赋予角色属性后,即使…...
使用vite创建vue+ts项目,整合常用插件(scss、vue-router、pinia、axios等)和配置
一、检查node版本 指令:node -v 为什么要检查node版本? Vite 需要 Node.js 版本 18,20。然而,有些模板需要依赖更高的 Node 版本才能正常运行,当你的包管理器发出警告时,请注意升级你的 Node 版本。 二、创…...
泛型、Trait 和生命周期(上)
目录 1、提取函数来减少重复 2、在函数定义中使用泛型 3、结构体定义中的泛型 4、枚举定义中的泛型 5、方法定义中的泛型 6、泛型代码的性能 每一门编程语言都有高效处理重复概念的工具。在 Rust 中其工具之一就是 泛型(generics)。泛型是具体类型…...
<网络安全>《18 数据安全交换系统》
1 概念 企业为了保护核心数据安全,都会采取一些措施,比如做网络隔离划分,分成了不同的安全级别网络,或者安全域,接下来就是需要建设跨网络、跨安全域的安全数据交换系统,将安全保障与数据交换功能有机整合…...
Kafka 生产调优
Kafka生产调优 文章目录 Kafka生产调优一、Kafka 硬件配置选择场景说明服务器台数选择磁盘选择内存选择CPU选择 二、Kafka Broker调优Broker 核心参数配置服役新节点/退役旧节点增加副本因子调整分区副本存储 三、Kafka 生产者调优生产者如何提高吞吐量数据可靠性数据去重数据乱…...
springboot162基于SpringBoot的体育馆管理系统的设计与实现
体育馆管理系统 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本体育馆管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕…...
Interpolator:在Android中方便使用一些常见的CubicBezier贝塞尔曲线动画效果
说明 方便在Android中使用Interpolator一些常见的CubicBezier贝塞尔曲线动画效果。 示意图如下 import android.view.animation.Interpolator import androidx.core.view.animation.PathInterpolatorCompat/*** 参考* android https://yisibl.github.io/cubic-bezier* 实现常…...
Nacos安装,服务注册,负载均衡配置,权重配置以及环境隔离
1. 安装 首先从官网下载 nacos 安装包,注意是下载 nacos-server Nacos官网 | Nacos 官方社区 | Nacos 下载 | Nacos 下载完毕后,解压找到文件夹bin,文本打开startup.cmd 修改配置如下 然后双击 startup.cmd 启动 nacos服务,默认…...
Vue3导出数据为txt文件
在Vue3中,可以通过使用Blob对象以及URL.createObjectURL()方法导出txt文档。 首先,你需要在Vue组件中创建一个方法来生成txt文档的内容。 //res.value.code 数据源 //type:格式设置 //form.name是下载文件的自定义名字 const downLoad ()&…...
Simulink中getConfigSet用法
目录 语法 说明 示例 获取配置集 getConfigSet的功能是从模型中获取配置集或配置引用。 语法 myConfigObj getConfigSet(model, configObjName) 说明 myConfigObj getConfigSet(model, configObjName) 返回关联到 model 并命名为 configObjName 的配置集或配置引用。 …...
【Algorithms 4】算法(第4版)学习笔记 05 - 2.2 归并排序
文章目录 前言参考目录学习笔记1:归并排序的简单演示1.1:基本思路1.2:归并排序的 demo 演示1.3:代码实现2:自顶向下的归并排序2.1:比较次数与访问次数的证明2.2:代码优化2.3:优化后代…...
mybatis mapper sql include用法实现sql块复用
一、总SQL <select id"getxxxMonitorData"resultType"com.xxx.module.system.dal.dataobject.xxx.xxxDO"><include refid"getxxxMonitorDataBaseSql"></include><include refid"whereContent"></include&…...
用AI看牙新姿势:5张手机照片,TeethDreamer帮你生成3D牙齿模型(附保姆级复现思路)
从5张照片到3D牙齿模型:TeethDreamer技术全解析与实战指南 想象一下,你只需要用手机拍摄5张口腔照片,就能生成一个精确的3D牙齿模型——这不再是科幻电影中的场景。TeethDreamer作为2024年MICCAI会议上的突破性研究,将扩散模型与3…...
C#实战:5分钟搞定Modbus RTU通讯(基于NModbus4库)
C#实战:5分钟搞定Modbus RTU通讯(基于NModbus4库) 工业自动化领域的数据采集离不开设备通讯协议的支持,而Modbus RTU作为最广泛应用的串行通信协议之一,几乎成为工控开发者的必修课。今天我们就用C#和NModbus4库&#…...
Ext2Read:3个高效方案解决Windows读取Linux分区难题
Ext2Read:3个高效方案解决Windows读取Linux分区难题 【免费下载链接】ext2read A Windows Application to read and copy Ext2/Ext3/Ext4 (With LVM) Partitions from Windows. 项目地址: https://gitcode.com/gh_mirrors/ex/ext2read 一、痛点直击ÿ…...
DeepFace模型预加载优化指南:从延迟痛点到秒级启动的全方案解析
DeepFace模型预加载优化指南:从延迟痛点到秒级启动的全方案解析 【免费下载链接】deepface A Lightweight Face Recognition and Facial Attribute Analysis (Age, Gender, Emotion and Race) Library for Python 项目地址: https://gitcode.com/GitHub_Trending/…...
RabbitMQ MQTT插件实战:5分钟搞定物联网设备消息通信(含WebSocket配置)
RabbitMQ MQTT插件实战:5分钟搞定物联网设备消息通信(含WebSocket配置) 物联网设备通信的核心挑战在于如何在资源受限的环境中实现高效、可靠的消息传递。RabbitMQ作为企业级消息中间件,通过MQTT插件完美解决了这一难题。本文将带…...
PvZ Toolkit终极指南:植物大战僵尸PC版免费完整修改器快速上手
PvZ Toolkit终极指南:植物大战僵尸PC版免费完整修改器快速上手 【免费下载链接】pvztoolkit 植物大战僵尸 PC 版综合修改器 项目地址: https://gitcode.com/gh_mirrors/pv/pvztoolkit 还在为植物大战僵尸中的资源匮乏而烦恼吗?PvZ Toolkit这款开源…...
AI时代的程序员应该如何就业突击找工作?编程语言该如何选择才不会被时代所淘汰?
AI时代的程序员应该如何就业突击找工作?编程语言该如何选择才不会被时代所淘汰? AI时代程序员就业突击与编程语言选择指南 一、就业突击策略 核心能力强化 算法与数据结构:掌握基础算法(排序/搜索)和高级结构&#x…...
OpenCascade避坑指南:BRepMesh网格生成常见的5个问题与解决方法(含性能对比数据)
OpenCascade网格生成实战:5个高频问题深度解析与性能优化指南 当你在CAD开发中第一次调用BRepMesh_IncrementalMesh时,是否遇到过网格生成失败却找不到原因的情况?或是面对复杂模型时性能急剧下降的困境?这些问题往往让初学者束手…...
踩过PCB缺陷检测长尾分布的坑后,我用DR Loss把YOLOv8尾部类别召回率从58%干到92%
本文基于我7年工业视觉、PCB缺陷检测项目的一线落地经验,针对工业场景最头疼的数据长尾分布痛点——头部常见缺陷样本极多、尾部稀有缺陷样本极少,导致原生YOLOv8尾部类别漏检严重、泛化能力差的问题,完整拆解DR Loss(Distribution Ranking Loss)分布排名损失的核心原理,…...
暗黑3终极按键助手:5分钟学会解放双手的完整指南
暗黑3终极按键助手:5分钟学会解放双手的完整指南 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 还在为暗黑破坏神3中繁琐的按键操作而烦…...
