C++ 字符串处理函数


C++ 字符串处理函数
=====================================================================================================
sizeof(对象或变量) 返回int
该函数(应该叫算符)可以获取对象的总长度.
例如: char str[20]="12345". sizeof(str) 就等于 20. 它不但可以获取变量的长度还可以获取对象的长度.
=====================================================================================================
strlen(字符串) 返回int
该函数是获取专门获取字符串的长度.
例如: char str[20] = {0}. strlen(str) 就等于0. char str[20] = "12345". strlen(str) 就等于5. 它只能对字符串进行操作. 
=====================================================================================================
memset(变量或对象或结构体, 初始大小一般为0, 最大值:可以用sizeof()取到)
该函数可以清空内存中的数据.
例如: char str[20], memset(str, 0, sizeof(str)). 这样,这个变量就清空了.
对于char类型,还是推荐在赋值时就给初始值.如:char str[20]={0}
=====================================================================================================
memcpy(目标对象, 源对象, 最大值:可以用sizeof(目标对象)取到)
该函数可以复制对象内存区域的值. 它只支持内存复制(void *)
=====================================================================================================
strcpy_s(目标字符串, 源字符串)
复制源字符串到目标字符串. 也可以使用 memcpy
strcpy是不安全的函数. 所以推荐用strcpy_s
=====================================================================================================
strcat_s(追加字符串, 源字符串)
如char czFilePath[256] = "C:\\"
 char czFIleExeName[256] = "test.exe"
strcat_s(czFilePath, czFIleExeName);
那么czFilePath就等于: C:\\test.exe
=====================================================================================================
snprintf_s(目标字符串, 长度:sizeof(目标字符串),"格式化字符串如: %s, %d", 输入内容如: "123", int)
sprintf 为不安全的函数
格式化目标字符串.
=====================================================================================================
strtok_s()(要截取的字符串, 截取的符号, 存放剩余值的变量)
可以根据截取符号分割出要截取的字符串.
代码: 
char s[] = "123|*|456|*|789" ;
const char *d = "|*|";
char *p=0;
char *c=0;

p = strtok_s(s,d,&c);
while(p)
{
        printf( "%s\n",p);
        p=strtok_s(NULL,d,&c);
}
=====================================================================================================
_splitpath_s(全路径名, 盘符, 路径, 文件名, 扩展名) <stdlib.h>
截取路径字符串.
代码: 
char szPath[260] = {0};
GetModuleFileName(NULL, szPath, sizeof(szPath));
char drive[_MAX_DRIVE], dir[_MAX_DIR], fname[_MAX_FNAME], ext[_MAX_EXT];
_splitpath_s(szPath, drive, dir, fname, ext);

szPath="d:\Test\SocketDevelop\Debug\分割程序路径的函数.exe";
drive="d:"
dir="\Test\SocketDevelop\Debug\"
fname="分割程序路径的函数"
ext="exe"
=====================================================================================================
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值