博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符串 - 单字、双字查找第一个、最后一个出现
阅读量:5959 次
发布时间:2019-06-19

本文共 5251 字,大约阅读时间需要 17 分钟。

#include "stdafx.h"#include 
#include
#include
#pragma comment(lib,"Shlwapi.lib")#include
//#include
using namespace std;VOID Sub_1();//双字查找最后一个出现 wcsrchrBOOL Sub_2();//单字查找第一个出现 StrStrIWBOOL Sub_2_1();//单字查找第一个出现 StrStrIAVOID Sub_3();//双字查找从最后一个查找 wcscatVOID Sub_3_1();//wcsstr //wcsstr(BufferData, L".") wcsstrVOID Sub_4();//CString 双字查找从最后查找 CString ReverseFindVOID Sub_5();//双字查找从最后一个开始找wcsrchrVOID Sub_6();//单字查找从最后一个开始找 strrchr strrchr(BufferData, '\\')VOID Sub_7();//单字查找从第一个开始找 strstr strstr(BufferData, ".")VOID Sub_8();//单字查找从第一个开始找 strchr strchr(BufferData,'.')#pragma warning(disable:4996) int main(){ //Sub_1(); //双字查找最后一个出现 //Sub_2(); Sub_2_1();//单字查找第一个出现 StrStrIA //Sub_3(); //双字查找第一个出现 //Sub_3_1(); //Sub_4(); //Sub_6(); //Sub_7(); //Sub_8(); return 0;}VOID Sub_1()//双字查找最后一个出现 wcsrchr{ WCHAR Sour[1024] = L"c:\\1\\1\\1.txt"; WCHAR* FindPoint = NULL; printf("Sour:%S\r\n", Sour); //WCHAR wzDest[1024] = L"D:"; FindPoint = wcsrchr(Sour, '\\');//wcsrchr是一种函数,功能是从一个字符串中寻找某个字符最后出现的位置。 if (FindPoint != NULL) { *FindPoint = '\0'; // wcscpy(wzDest, wzSour); //双字拷贝 wcscat(Sour, L"\\2.dll");//双字连接 *FindPoint = '\\'; } printf("Dest:%S\r\n", Sour); //printf("Sour:%S\r\n", wzSour);// printf("Dest:%S\r\n", wzDest);}BOOL Sub_2()//双字查找第一个出现 StrStrIW{ WCHAR wzSour[1024] = L"C:\\windows\\system32\\notepad.exe"; WCHAR* FindPoint = NULL; WCHAR v1[1024] = L"Notepad.exe"; FindPoint = StrStrIW(wzSour, v1); if (FindPoint != NULL) { return TRUE; } return FALSE;}BOOL Sub_2_1()//单字查找第一个出现 StrStrIA{ CHAR szSour[1024] = "C:\\windows\\system32\\notepad.exe"; CHAR* FindPoint = NULL; CHAR v1[1024] = "Notepad.exe"; FindPoint = StrStrIA(szSour, v1); if (FindPoint != NULL) { return TRUE; } return FALSE; }VOID Sub_3() //双字查找从最后一个查找 wcscat{ WCHAR Sour[1024] = L"C:\\windows\\system32\\notepad.exe"; WCHAR* FindPoint = NULL; WCHAR Dest[1024] = L"D:"; FindPoint = wcsstr(Sour, L"\\");//wcsrchr是一种函数,即Scan a string for the last occurrence of a character,功能是从一个字符串中寻找某个字符最后出现的位置。 if (FindPoint != NULL) { wcscat_s(Dest, FindPoint); /*功能:把strSource所指字符串添加到strDestination结尾处,覆盖 strDestination结尾处的'\0'并添加'\0'。 说明:strSource和strDestination所指内存区域不可以重叠且strDestination 必须有足够的空间来容纳strSource的字符串。 备注 : 因为wcscat在strDestination追加strSource前不进行检查,这是一个 缓冲区溢出的潜在原因。故使用时应注意。推荐使用wcscat_s替代.*/ } printf("Sour:%S\r\n", Sour); printf("Dest:%S\r\n", Dest);}VOID Sub_3_1() //wcsstr(BufferData, L".") wcsstr{ WCHAR BufferData[MAX_PATH] = L"C:\\1.txt"; WCHAR* FindPoint = NULL; FindPoint = wcsstr(BufferData, L".");//单字查找 if (FindPoint != NULL) { *FindPoint = '\0'; wcscat(FindPoint, L".dll");//双字连接 } printf("%S", BufferData); }VOID Sub_4() //CString 双字查找从最后查找 CString ReverseFind{ WCHAR v1[MAX_PATH] = L"C:\\1\\1\\1.txt"; WCHAR* FindPoint = NULL; CString v2 = v1; int iPos = v2.ReverseFind('\\');//5 CString v3 = v2.Left(iPos + 1); v3 += L"1.dll"; printf("%S", v3.GetBuffer());}VOID Sub_5()//双字查找从最后一个开始找wcsrchr{ WCHAR BufferData[1024] = L"c:\\UMS\\UMS\\UMS.txt"; WCHAR* v1 = NULL; printf("%S\r\n", BufferData); v1 = wcsrchr(BufferData, '\\');//wcsrchr是一种函数,功能是从一个字符串中寻找某个字符最后出现的位置。 if (v1 != NULL) { *v1 = '\0'; wcscat(BufferData, L"\\HelloWorld.dll");//双字连接 } printf("%S\r\n", BufferData); printf("Input AnyKey To Exit\r\n"); getchar();}VOID Sub_6()//单字查找从最后一个开始找 strrchr strrchr(BufferData, '\\'){ char BufferData[1024] = "c:\\Shine\\Shine\\Shine.txt"; char* v1 = NULL; printf("%s\r\n", BufferData); v1 = strrchr(BufferData, '\\');//strrchr是一种函数,功能是从一个字符串中寻找某个字符最后出现的位置。 if (v1 != NULL) { *v1 = '\0'; strcat_s(BufferData, "\\HelloWorld.dll");//单字连接 } printf("%s\r\n", BufferData); printf("Input AnyKey To Exit\r\n"); getchar();}VOID Sub_7()//单字查找从第一个开始找 strstr strstr(BufferData, "."){ /* strstr 编辑 strstr(str1, str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。*/ char BufferData[1024] = "c:\\Shine\\Shine\\Shine.txt"; char* v1 = NULL; printf("%s\r\n", BufferData); v1 = strstr(BufferData, ".");//strstr是一种函数,功能是从一个字符串中寻找某个字符最后出现的位置。 if (v1 != NULL) { *v1 = '\0'; strcat_s(BufferData, "\\HelloWorld.dll");//单字连接 } printf("%s\r\n", BufferData); printf("Input AnyKey To Next\r\n"); getchar();}VOID Sub_8()//单字查找从第一个开始找 strchr strchr(BufferData,'.'){ char BufferData[1024] = "c:\\UMS\\UMS\\UMS.txt"; char* v1 = NULL; printf("%s\r\n", BufferData); v1 = strchr(BufferData,'.');//strchr是一种函数,功能是从一个字符串中寻找某个字符最后出现的位置。strchr函数原型:extern char *strchr(const char *s,char c);查找字符串s中首次出现字符c的位置。 if (v1 != NULL) { *v1 = '\0'; strcat_s(BufferData, "\\HelloWorld.dll");//单字连接 } printf("%s\r\n", BufferData); printf("Input AnyKey To Exit\r\n"); getchar();}

整理了一些WCHAR、CHAR的从头、尾查找第一次出现函数。

转载于:https://www.cnblogs.com/1228073191Blog/p/7392028.html

你可能感兴趣的文章
Android MVVM组件化架构方案
查看>>
学汉语、来云栖、海外布道阿里云……这位印度架构师不一般
查看>>
经典Java面试题收集(二)
查看>>
iOS开发备忘笔记 (2)
查看>>
Rxjs 02--Observable 和 observer
查看>>
【Leetcode】100. 相同的树
查看>>
AFNetworking-NSURLConnection
查看>>
"Hotpatch"潜在的安全风险
查看>>
封装Date工具类
查看>>
在腾讯云&阿里云上部署JavaWeb项目(Tomcat+MySQL)
查看>>
Babel学习系列3-babel-preset,babel-plugin
查看>>
焦虑、不安
查看>>
canvas绘图按照contain或者cover方式适配,并居中显示
查看>>
两款爱不释手的markdown编辑工具
查看>>
SpringBoot 实战 (五) | 集成 Swagger2 构建强大的 RESTful API 文档
查看>>
Nginx 通过 Lua + Redis 实现动态封禁 IP
查看>>
Element-UI中Upload上传文件前端缓存处理
查看>>
Terraform入门 - 4. destroy 基础设施
查看>>
LeetCode20.有效的括号 JavaScript
查看>>
为什么编程语言的都要定义数据类型
查看>>