1.连接字符
_tcscat() 直接将一个串连接到另一个的后面
_tcsncat () 将第二个参数,从开始到n个字符连到第一个参数后面
2.复制字符
_tcscpy() 这个就不用说了
_tcsncpy() 这个功能强大
a.他可以用来将字符串的某些位除去
eg:
//szOldName :123[1].gif
//从szOldName + _tcslen(szOldName) -4开始,向szOldName中copy 1个/0,
//即清除szOldname的后4位
_tcsncpy(szNewName + _tcslen(szNewName) -4 ,"/0",1);//szNewName :123[1]
b.他可以用来复制字符
3.查找字符(可以用来分割字符)
_tcschr()
返回的是要查找的那个字符开头的字符串
eg:
//szName : 123[1].gif
char *s = _tcschr(szName,'[');
得到的s是:
s:[1].gif
4.注意:
c语言中没有插入字符
不过可以用分割字符,然后复制或连接字符来实现
eg:
//1.cut the extension
//2.find [] and delete it
//从szOldName + _tcslen(szOldName) -4开始,向szOldName中copy 1个/0,即清除szOldname的后4位
_tcsncpy(szNewName + _tcslen(szNewName) -4 ,"/0",1);//szNewName :123[1]
//取出[1]来
s = _tcschr(szNewName,'['); //这时 s= [1]
if(s == 0)
continue;//忽略没有[的文件
//将szOldName的后s位去掉
_tcsncpy(szNewName + _tcslen(szNewName)-_tcslen(s) ,"/0",1); //szNewName :123
//连上原来的扩展名
_tcsncat(szNewName,TEXT(".gif"),4);
//连上完整的路径!!c:/123
Edit_GetText( GetDlgItem(hwnd,IDC_EDIT_PATH),szPath,MAX_PATH );
_tcscat(szPath,TEXT("//"));
_tcscat(szPath,szNewName);
_tcscpy(szNewName,szPath);
Edit_GetText( GetDlgItem(hwnd,IDC_EDIT_PATH),szPath,MAX_PATH );
_tcscat(szPath,TEXT("//"));
_tcscat(szPath,szOldName);
_tcscpy(szOldName,szPath);
/
strncpy(des,sour,count)
des是缓冲区的位置,可以使开始,也可以是中间一段des+n.....
sour是要copy到des中的字符串
count是在sour中copy几个