VC 中字符串比较和查找
常用字符串函数
1. 字符串比较函数
//比较两个字符串是否相同
int StrCmp(LPCTSTR lpStr1,LPCTSTR lpStr2);
int StrCmpN(LPCTSTR lpStr1,LPCTSTR lpStr2,int nChar);
int strcmp( const char *string1, const char *string2 );
int wcscmp( const wchar_t *string1, const wchar_t *string2 );
int CompareString(LCID Locale, DWORD dwCmpFlags, LPCTSTR lpString1, int cchCount1, LPCTSTR lpString2, int cchCount2);
2. 计算字符串长度
HRESULT StringCchLength( LPCTSTR psz,size_t cchMax,size_t *pcch); //replacement for strlen
size_t strlen( const char *string );
size_t wcslen( const wchar_t *string );
3. 字符串赋值函数
HRESULT StringCchCopy(LPTSTR pszDest,size_t cchDest,LPCTSTR pszSrc); //replacement for strcpy
HRESULT StringCchCopyN(LPTSTR pszDest,size_t cchDest,LPCTSTR pszSrc,size_t cchSrc); //replacement for strncpy
LPTSTR StrCpy(LPTSTR psz1,LPCTSTR psz2); //存在安全问题
LPTSTR StrCpyN(LPTSTR psz1,LPCTSTR psz2,int cchMax); //存在安全问题
char *strcpy( char *strDestination, const char *strSource );
wchar_t *wcscpy( wchar_t *strDestination, const wchar_t *strSource );
char *strncpy( char *strDest, const char *strSource, size_t count );
wchar_t *wcsncpy( wchar_t*strDest, const wchar_t *strSource, size_t count );
4. 字符串连接函数
HRESULT StringCchCat( LPTSTR pszDest,size_t cchDest,LPCTSTR pszSrc); //replacement for strcat
HRESULT StringCchCatN( LPTSTR pszDest,size_t cchDest,LPCTSTR pszSrc,size_t cchMaxAppend); //replacement for strncat
LPTSTR StrCat( LPTSTR psz1,LPCTSTR psz2); //存在安全问题
LPTSTR StrNCat( LPTSTR pszFront,LPCTSTR pszBack,int cchMax); //存在安全问题
char *strcat( char *strDestination, const char *strSource );
wchar_t *wcscat( wchar_t *strDestination, const wchar_t *strSource );
char *strncat( char *strDest, const char *strSource, size_t count );
wchar_t *wcsncat( wchar_t *strDest, const wchar_t *strSource, size_t count );
5. 字符查找函数
//查找字符串中指定字符第一次出现的位置
LPTSTR StrChr( LPCTSTR lpStart,TCHAR wMatch); //区分大小写
char *strchr( const char *string, int c );
wchar_t *wcschr( const wchar_t *string, wchar_t c );
LPTSTR StrChrI( LPCTSTR lpStart,TCHAR wMatch); //不区分大小写
//查找字符串中指定字符最后一次出现的位置
LPTSTR StrRChr( LPCTSTR lpStart,LPCTSTR lpEnd,TCHAR wMatch); //区分大小写
char *strrchr( const char*string, int c );
wchar *wcsrchr( const wchar_t *string, int c );
LPTSTR StrRChrI( LPCTSTR lpStart,LPCTSTR lpEnd,TCHAR wMatch); //不区分大小写
*注 StrRChr()函数可以通过StrChr()函数和while循环来实现。
补充:
查找字符串:
_tcsstr(........)
字符串转化为double型数字
_tcstod( const char *nptr, char **endptr )
字符串转化为double型整数(只取整数部分,不取小数)Convert strings to a long-integer value.
_tcstoul ( const char *nptr, char **endptr, int base )
_tcstol ( const char *nptr, char **endptr, int base )
取子字符串
Extracts a substring of length nCount characters from this CStringT object, starting at position iFirst (zero-based).
CStringT Mid(
int iFirst,
int nCount
) const;
CStringT Mid(
int iFirst
) const;
example:
//typedef CStringT < TCHAR, StrTraitATL < TCHAR > > CAtlString;
CAtlString s( _T("abcdef") );
_ASSERT( s.Mid( 2, 3 ) == _T("cde") );
VC 中字符串比较和查找相关推荐
- VC++中字符串编码的转换
在以前VC++6.0中默认的字符集是多字节字符集(MBCS:Multi-Byte Character Set),而VS2005及以后默认的字符集是Unicode,这样导致以前在VC6.0中非常简单实用 ...
- VC++中字符串编码处理的一些相关问题
前言 什么是tchar? 百度百科对其的定义如下": 因为C++支持两种字符串,即常规的ANSI编码(使用""包裹)和Unicode编码(使用L""包 ...
- VC中,字符串的分割
想请教下,在VC当中,要重新写一个 类似 split 的 类该怎么做? 现在的要求是,对一个字符串进行分割,并放到数组当中去. 基本实现想法如下: 定义:char str[256]="123 ...
- VC中字符串形式ip地址和整数形式ip地址转换
字符串转整数 int dwAddr = inet_addr("127.0.0.1"); 整数转字符串 struct in_addr inAddr;inAddr.s_addr = d ...
- VC中的一些字符类型及其转换
一.VC中字符串类型的互相转换 总是觉得VC中的类型纷繁复杂,扑朔迷离.因为有了Unicode,因为C.C++类型相互转化如此不同.保存char的不止char一种,还可以用short,un ...
- Go语言中字符串的查找方法小结
这篇文章主要介绍了Go语言中字符串的查找方法小结,示例的main函数都是导入strings包然后使用其中的方法,需要的朋友可以参考下 1.func Contains(s, substr string) ...
- 【转】Java中字符串中子串的查找共有四种方法(indexof())
原文网址:http://wfly2004.blog.163.com/blog/static/1176427201032692927349/ Java中字符串中子串的查找共有四种方法,如下: 1.int ...
- VC中数字与字符串转换方法
VC中数字与字符串转换方法 u 字符串转数字 l 1.CRT函数 ASCII UNICODE TCHAR VS2005 int atoi _wtoi _tstoi, ...
- c语言从文件查找字符串,C语言文件中字符串的查找与替换?
C语言文件中字符串的查找与替换? #include #include #include #include int Count=0; int findNum(char *str) { int i=0,t ...
最新文章
- 各种initcall的执行先后顺序(module_init、postcore_initcall、arch_initcall、subsys_initcall、 fs_initcall)...
- Simulink中进行电容充放电的一种简单仿真
- 这些屌毛总是给订阅号发x图,连夜肝了一个微信订阅号鉴黄机器人抵御~
- Redis 特殊数据类型 :Geospatial、Hyperloglog、Bitmap
- Val编程-文本操作
- aws cli_学习AWS CLI:AWS CLI概述(AWS命令行界面)
- (网络收藏)WIKI
- 二元一次函数最值问题_沪科版八年级上册数学12.3.1一次函数与二元一次方程微课知识点精讲+练习...
- jQuery各种选择器总结
- 软件基本功:变量局部化
- delphi串行通信源码教程
- 火灾报警(烟雾火焰检测)-STM8L
- 毕业论文 - 写作问题总结 和 tips
- 合并两个有序链表js
- UE4-4.26蓝图功能实现:按键控制物体旋转的“延伸”(点名系统Get all actors of class)
- PLM教程:CAXA 3D 与 PLM 的集成应用
- 达梦DCA学习笔记202004
- 关于Realtek 8821ce wireless lan 802.11ac网络适配器无法使用
- 从排名看主流半导体厂商在3G市场的策略与心态
- 动态规划--基本思路理念
热门文章
- Day03——Python函数
- CentOS7 编译安装 Mariadb
- asp.net夜话之九:验证控件(上)
- 【ThinkPHP3.2.3】学习ThinkPHP笔记:框架中的配置文件(3)
- 小黑小波比.保存密码加密方式
- nginx 配置的server_name参数(转)
- Ubuntu 10.10从零开始建立android 2.2 froyo开发环境
- 8.27 直播| 挖掘传统行业日志大数据的无限价值
- Solaris底下配置samba
- 谨慎能捕千秋蝉(二)——CSRF