原文出处: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. java基础(3):变量、运算符

    1. 变量 1.1 变量概述 前面我们已经学习了常量,接下来我们要学习变量.在Java中变量的应用比常量的应用要多很多.所以变量也是尤为重要的知识点! 什么是变量?变量是一个内存中的小盒子(小容器), ...

  2. Go-for循环

    一.第一种情况(死循环) package main import "fmt" func main() { for{ fmt.Println("fuck") } ...

  3. UITableView HeaderView,FooterView 使用SnapKit布局导致约束异常

    今天做一个APP里面设置页面(个人中心) 就是一个列表菜单 顶部是一个头像和账户标题, 底部为一个退出登录按钮 当然我第一时间就想到了UITableView, HeaderView, FooterVi ...

  4. PHP获取二维数组指定字段值的和

    array_sum(array_column($arr, 'num')); //获取二维数组 num字段的和 $arr = [ [ 'device_uid' => '123456', 'num' ...

  5. 文本处理工具awk

    目录 gawk:模式扫描和处理语言 awk语言 awk工作原理 print awk变量 自定义变量 printf命令 awk操作符 awk的条件判断 awk的循环 awk的数组 awk的函数 awk调 ...

  6. liunx用户环境初始化脚本

          liunx用户环境初始化脚本 编写生成脚本基本格式,包括作者,联系方式,版本,时间,描述等 [root@magedu ~]# vim .vimrc set ignorecase set c ...

  7. 微信小程序出现 text 设置行高 line-height 无效的问题

    前言: 我在写程序过程中遇到过给text加line-height不生效的问题,但是也有生效的情况,如果不生效了就按下面的解决方法处理吧. 解决办法: 在text的外层嵌套一层view,然后给view设 ...

  8. TICK技术栈(四)Grafana安装及使用

    1.什么是Grafana? Grafana是一款采用go语言和Angular框架编写的开源的可视化工具,主要用于大规模指标数据的可视化展示,提供包括折线图,饼图,仪表盘等多种监控数据可视化UI,是网络 ...

  9. 使用 TSPITR 恢复删除的表空间的步骤 (Doc ID 1277795.1)

    Steps To Recover A Dropped Tablespace Using TSPITR (Doc ID 1277795.1) APPLIES TO: Oracle Database - ...

  10. ssm所需依赖

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...