原文出处:https://blog.csdn.net/eickandy/article/details/50083169

C++标准库函数提供了字符和字符串的操作函数,并提供了其UNICODE版本,本文介绍_tcschr和_tcsrchr,名字很相似,就差一个字母r。

1、_tcschr代替strchr或者wcschr
函数功能:查找一个字符串中首次出现的指定字符。

函数原型
char *strchr(const char* _Str,int _Val)
char *strchr(char* _Str,int _Ch)
头文件:#include <string.h>
功能: 查找字符串s中首次出现字符c的位置
说明: 返回首次出现c的位置的指针,返回的地址是被查找字符串指针开始的第一个与Val相同字符的指针,如果s中不存在c则返回NULL。
返回值:成功则返回要查找字符第一次出现的位置,失败返回NULL

函数原型:wchar_t *wcschr(const wchar_t *ws,wchar_t wc)
头文件:#include<wcschr.h>
说明:在宽字符串ws中查找宽字符wc,然后返回第一个匹配wc的位置即指针,如果没有找到就返回空指针NULL.[1]
返回值:成功则返回要查找字符第一次出现的位置,失败返回NULL

_tcschr  查找字符串中某个字符第一次出现的位置
两个参数
第一个参数:字符串
第二个参数:查找的字符
返回值:指向第一次在字符串中出现的该字符的指针,如果要查找的字符再串中没有出现,则返回NULL。

(:_tcschr支持ANSI和UNICODE,ANSI使用strchr,UNICODE使用wcschr。)

2、_tcsrchr代替strrchr或者wcsrchr

函数功能:查找一个字符串中最后一次出现的指定字符。

函数原型
char *strrchr( const char *string, int c);
char *wcsrchr( const wchar_t *string, int c );
参数说明
第一个参数:字符串
第二个参数:需要查找的字符
功能:查找一个字符串中最后出现的指定字符。
返回值:找出字符串中最后一个出现查找字符的地址,然后将该字符出现的地址返回。

(注:_tcsrchr支持ANSI和UNICODE,ANSI使用strrchr,UNICODE使用wcsrchr。)

3、应用(获取模块路径)

 inline void getModulePath(CString &path)
{
  char bufPath[] = {};
#if defined(_WIN64)
  ::getModuleFileNameA(nullptr, bufPath, );
  (strrchr(bufPath, '\\'))[] = ;
#else
  getcwd(bufPath, );
#endif
  path = bufPath;
}

以上代码获取去掉文件名后的目录路径,如果要获取盘符根路径,使用strchr即可(这两个函数就差一个字母r,一定要看清楚,容易混淆)。

[转]C++字符串操作函数_tcschr、_tcsrchr的更多相关文章

  1. JavaScript中常见的字符串操作函数及用法

    JavaScript中常见的字符串操作函数及用法 最近几次参加前端实习生招聘的笔试,发现很多笔试题都会考到字符串的处理,比方说去哪儿网笔试题.淘宝的笔试题等.如果你经常参加笔试或者也是一个过来人,相信 ...

  2. 转:C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文

    转自:C语言字符串操作函数 - strcpy.strcmp.strcat.反转.回文 C++常用库函数atoi,itoa,strcpy,strcmp的实现 作者:jcsu C语言字符串操作函数 1. ...

  3. C语言的常用字符串操作函数(一)

    一直做的是单片机相关的程序设计,所以程序设计上更偏向底层,对于字符串的操作也仅限于液晶屏幕上的显示等工作,想提高下字符串操作的水平,而不是笨拙的数组替换等方式,翻看帖子发现C语言的字符串操作函数竟然这 ...

  4. linux makefile字符串操作函数 替换subst、模式替换patsubst、去首尾空格strip、查找字符串findstring、过滤filter、反过滤filter-out、排序函数sort、取单词word、取单词串wordlist、个数统计words

    1.1       字符操作函数使用 在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能.make所支持的函数也不算很多,不过已经足够我们的操作了.函数调用后,函 ...

  5. mysql常用字符串操作函数大全,以及实例

    今天在论坛中看到一个关于mysql的问题,问题如下 good_id     cat_id12654         665,56912655         601,4722 goods_id是商品i ...

  6. Postgresql 字符串操作函数

    样例测试: update property set memorial_no = btrim(memorial_no, ' ') where memorial_no like ' %' 或:update ...

  7. LoadRunner中常用的字符串操作函数

    LoadRunner中常用的字符串操作函数有:                strcpy(destination_string, source_string);               strc ...

  8. Sql字符串操作函数

    1.去空格函数 (1).LTRIM() 把字符串头部的空格去掉. (2).RTRIM() 把字符串尾部的空格去掉. 2.字符转换函数(1).ASCII()返回字符表达式最左端字符的ASCII 码值.在 ...

  9. C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文

    原文:http://www.cnblogs.com/JCSU/articles/1305401.html C语言字符串操作函数 1. 字符串反转 - strRev2. 字符串复制 - strcpy3. ...

随机推荐

  1. ASP.NET Core SignalR:基础概述

    一.简介 ASP.NET Core SignalR 是一个开源代码库,它简化了向应用添加实时 Web 功能的过程. 实时 Web 功能使服务器端代码能够即时将内容推送到客户端. SignalR 的适用 ...

  2. Python中的常见特殊方法—— repr方法

    在Python中有些方法名.属性名的前后都添加了双下划线,这种方法.属性通常都属于Python的特殊方法和特殊属性,开发者可以通过重写这些方法或者直接调用这些方法来实现特殊的功能.其实前面见过的构造方 ...

  3. Servlet小结(面试)

    1.doGet()和doPost()区别/get和post请求方法区别: (1)在form表单中:method  = “get/post”相对应doGet和doPost方法. (2)在http协议中: ...

  4. 【入门级】Docker基础介绍(一)

    Docker发展 Docker目前有两个版本: 1.Docker EE:企业版 2.Docker CE:社区版 Open Container Initiative倡议,包含两个规范, 1.运行时规范: ...

  5. Memcached 基本语法 记录

    set 命令:命令将value数值存储在指定的key中: set key flags exptime bytes [noreply] value key:键值 key-value 结构中的 key,用 ...

  6. [日常] 解决PHP Warning: Module 'mysqli' already loaded in Unknown on line 0

    解决PHP Warning: Module 'mysqli' already loaded in Unknown on line 0 原因:是PHP有两种方式添加扩展模块,一种是直接编译进了PHP,另 ...

  7. 【测试点】微信小程序的常见测试点

    第一次测试微信小程序,整理了一些必要的测试点和原则,以此为参考去设计详细测试用例

  8. Educational Codeforces Round 73 (Rated for Div. 2)

    传送门 A. 2048 Game 乱搞即可. Code #include <bits/stdc++.h> #define MP make_pair #define fi first #de ...

  9. 第6次作业--static关键字、对象

    题目1:编写一个类Computer,类中含有一个求n的阶乘的方法.将该类打包,并在另一包中的Java文件App.java中引入包,在主类中定义Computer类的对象,调用求n的阶乘的方法(n值由参数 ...

  10. deepin,linux服务器,上传下载

    ------------恢复内容开始------------ 物理机:deepin系统15.11桌面版 服务器:centos7 一.ftp连接服务器 1. deepin默认没有安装命令行的ftp客户端 ...