免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
批处理中的字符串处理详解.txt当你以为自己一无所有时,你至少还有时间,时间能抚平一切创伤,所以请不要流泪。能满足的期待,才值得期待;能实现的期望,才有价值。保持青春的秘诀,是有一颗不安分的心。不是生活决定何种品位,而是品位决定何种生活。批处理中的字符串处理详解2008年03月25日 14:57首先说一下,批处理和高级语言不同,没有字符串处理函数,比如strcat之类的,但是却可以利用环境变量来实现这些函数的功能。本文对照C语言中的字符串处理函数,讲解在批处理中的实现方法。首先说一下字符串的存储,在C语言中,采用字符数组或者字符指针来存储字符串,而BAT中没有这些东东,所以要依靠环境变量来存储。设置环境变量的语句为set语句,本文不详细介绍了,参考set /?语句。1、C语中的strcpy函数,将一个字符串复制到另一个字符型指针或字符数组,覆盖原来的字符串。C语言中的调用方法:strcpy(目标字符串,源字符串)在批处理中的实现方法:set 目标字符串=%源字符串%示例: 复制内容到剪贴板 代码:echo off:关闭屏幕回显(可选)set str1=This is old string:设置str1中存储的字符串,注意没有双引号,这点与C语言等不同!set str2=This is new string:设置str2中存储的字符串echo 执行字符串拷贝以前:echo str1=%str1%echo str2=%str2%:先输出一次原有的字符串set str1=%str2%:字符串拷贝echo 执行字符串拷贝以后:echo str1=%str1%echo str2=%str2%:输出执行完字符串拷贝后的字符串echo 输出完毕,按任意键退出&pausenul&exit:输出信息,当用户按任意键时,结束该批处理。效果图: 截图00145.PNG (8.8 KB)2008-3-25 14:212、C语中的strcat函数,将一个字符串连接到另一个字符型指针或字符数组的末尾。C语言中的调用方法:strcat(目标字符串,源字符串)在批处理中的实现方法:set 目标字符串=%目标字符串%源字符串%示例: 复制内容到剪贴板 代码:echo offset str1=This is string1set str2=This is string2:设置str1和str2中存储的字符串echo 连接字符串以前:echo str1=%str1%echo str2=%str2%:先输出一次原有的字符串set str1=%str1%str2%:字符串连接echo 连接字符串以后:echo str1=%str1%echo str2=%str2%:输出执行完字符串连接后的两个字符串echo 输出完毕,按任意键退出&pausenul&exit效果图: 截图00146.PNG (8.69 KB)2008-3-25 14:213、字符串截取,C中没有这种函数,不过可以通过语句实现,不再介绍,直接说批处理的。set 目标字符串=%源字符串:起始值,截取长度%注意,起始值从0开始!截取长度是可选的,如果省略逗号和截取长度,将会从起始值一直截取到字符串的结尾。示例: 复制内容到剪贴板 代码:echo offset str1=This is string1:设置str1中存储的字符串set str2=%str1:8,6%set str3=%str1:0,4%set str4=%str1:5%:字符串截取echo 原字符串:echo str1=%str1%echo 截取得到的字符串:echo str2=%str2%echo str3=%str3%echo str4=%str4%:输出执行结果echo 输出完毕,按任意键退出&pausenul&exit效果图: 截图00147.PNG (8.19 KB)2008-3-25 14:214、C语中的strlen函数,取得字符串的长度。C语言中的调用方法:strlen(字符串)在批处理中的实现方法是利用goto和标签,形成循环结构,不断将字符串截短1字符,并用变量记录截短的次数,直到字符串变成空串。示例: 复制内容到剪贴板 代码:echo offset str1=This is a test stringset str2=Hello World:设置两个字符串set str=%str1%:将str1复制到str:next1:标签,用于goto跳转:注意与注释语句的区别,注释用两个冒号开头,标签则为一个冒号if not %str%= (:判断str是不是空串,如果不是则执行下边的语句set /a num+=1:算术运算,使num的值自增1,相当于num+或者+num语句set str=%str:1%:截取字符串,赋给自身goto next1:跳转到next1标签:这里利用goto和标签,构成循环结构):当以上循环结构执行完毕时,会执行下边的语句echo str1=%str1%echo str1的长度为:%num%:输出结果set num=0:将记和用的环境变量num置0,以便开始下一次运算。set str=%str2%:将str2复制到str:next2:定义一个新的标签:注意不能与已有的标签同名,否则会出错!if not %str%= (set /a num+=1set str=%str:1%goto next2):和上一个循环相似,不再介绍echo str2=%str2%echo str2的长度为:%num%:输出结果echo 输出完毕,按任意键退出&pausenul&exit效果图: 截图00148.PNG (7.87 KB)2008-3-25 14:215、C语中的strchr函数,在一个字符串中查找一个字符的首次出现位置,找到时返回所在位置,找不到时返回0值。批处理中的思路:不断截短字符串,并取截短后字符串中的首字符,和要求的字符比较,如果相同就利用goto语句跳出循环,输出结果,如果没有相同的字符,执行到最后就输出0值。示例: 复制内容到剪贴板 代码:echo offSetlocal ENABLEDELAYEDEXPANSION:启用命令扩展,参加setlocal /?命令set str1=This is a test stringset ch1=t:注意,这里是区分大小写的!set str=%str1%:复制字符串,用来截短,而不影响源字符串:nextif not %str%= (set /a num+=1if !str:0,1!=%ch1% goto last:比较首字符是否为要求的字符,如果是则跳出循环set str=%str:1%goto next)set /a num=0:没有找到字符时,将num置零:lastecho 字符%ch1%在字符串%str1%中的首次出现位置为%num%echo 输出完毕,按任意键退出&pausenul&exit效果图: 截图00160.PNG (7.59 KB)2008-3-25 14:21引用:最后出几道题,看看大家学习的怎么样!(1)如何实现C语言中strstr函数的功能?提示:strstr函数的功能是在字符串1中查找字符串2,找到时返回串2首次出现的位置,否则返回0值。与strchr区别就是,第二个参数是字符串,而不是字符了。(2)如何用批处理构建while循环?提示:while循环一般格式为:while(表达式)循环体break|continue;循环体其中,循环体为0条或多条语句,break用于跳出循环,continue用于直接判断表达式并决定是否进入下一次循环。一般执行顺序:首先判断表达式,如果成立则
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CCIA 0030-2025防滑陶瓷砖防滑性能等级要求及试验方法
- T/JSCTS 95-2026公路工程绿色预制梁场建设指南
- T/HZBX 086-2024金莲花软胶囊中荭草苷和牡荆苷的含量测定 高效液相色谱法
- T/ZJBS 002-2024城市公共标识系统施工规范
- T/UNP 380-2024农用机械液压油缸
- DB32/T 4973.7-2024核与辐射突发事件卫生应急处置技术规范 第7部分:稳定性碘的使用指导
- 广东省部分学校2027届高三上学期9月供题训练语文试卷(无答案)
- 2025-2026年软件工程需求管理专项训练题库
- 2025-2026年钳工装配与调试实战练习题
- 2025-2026年大学环境设计专业景观设计原理专项训练题库
- 公立医院领导人员管理办法-2017-2026完整对比版
- 2027届上海市浦东新区洋泾中学物理高二上期中考试试题含解析
- 2026重庆渝中区社区工作者及后备人员招聘《综合知识》模拟试卷
- 《10 谁在运动》课件2026-2027学年湘科版四年级上册科学
- 医疗机构麻醉药品和精神药品管理规定2026解读
- 《中华人民共和国生态环境法典》测试题(含参考答案)
- 【新教材】2026年秋人教版(PEP)五年级上册英语全册教案(含教学计划)
- DBJ50-T-061-2021 预拌砂浆生产与应用技术标准
- 2026语文新教材 7.我的战友邱少云 课件
- 电子科技大学学生手册
- 基于QFD创新型品管圈的区域药学服务新模式构建(药剂科)(药房)(门诊)(药房门诊)
评论
0/150
提交评论