本人由于程序需要把D:\TEST\TEST1.MDB的路径改为D:\\TEST\\TEST1.MDB,需要一个函数专门负责这类转换,
BOOL CBackUpDateBaseDlg::FormatChange(string* path)
{
try
{
for(string::iterator beg=path->begin();beg!=path->end();++beg)
{
if(*beg=='\\')
{
beg=path->insert(beg,'\\');
++beg;
}
}
return TRUE;
}
catch (CException* e)
{
::MessageBox(NULL, (LPCTSTR)e.Description(), "转换名称出错!", MB_OK);
return FASLE;
}
}
但是发现string不能再VC中作为函数的参数,请问还有什么方法达到此目的?
BOOL CBackUpDateBaseDlg::FormatChange(string* path)
{
try
{
for(string::iterator beg=path->begin();beg!=path->end();++beg)
{
if(*beg=='\\')
{
beg=path->insert(beg,'\\');
++beg;
}
}
return TRUE;
}
catch (CException* e)
{
::MessageBox(NULL, (LPCTSTR)e.Description(), "转换名称出错!", MB_OK);
return FASLE;
}
}
但是发现string不能再VC中作为函数的参数,请问还有什么方法达到此目的?
解决方案 »
- 如何获取单选按钮的文字?
- 如何设计期货程序化交易软件?基于上期综合交易平台(CTP)
- c++GDI+发光子与发光边框画法
- vc2005中有关unicode的问题 lParam如何转换成CString
- 向高手请教关于CreateRemoteThread()远程创建线程问题
- listCtrl高亮选取整条记录后,我进行其它操作高亮就消失了,怎么让它一直处于高亮状态?
- 请教edit控件显示汉字的问题?
- 找到另一个程序的句柄和其中的LIST,请问如何取得指定一行的内容?如第二行(共有四行)
- 喜欢SDK,讨厌MFC的大虾们帮忙!!
- (!又是送分题)自定义了一个类后,在什么地方定义一个对象使得在*View.cpp中的多个函数都能用到这个对象??(注意:这里的多个函数都是对同一个对象进行操作) (希望能讲的理由,谢谢!!!)
- 请问各种熟悉CSDN论坛的程序员:增加自己在CSDN上的剩余可用分的方法有哪些
- 求助:CComboBox
CString str = "D:\\TEST\\TEST1.MDB";
str.Replace("\\","\\\\");就行了
#include "vblib.h"
#pragma comment(lib,"VBString.lib")//建议将 VBString.h 和 VBStringFunction.h 添加进工程中,这样便可通过 . 查看到 VBString 类的相关方法//定义变量
VBString tmpString;tmpString = "[原文]";
tmpString &= "[累加]";
tmpString += "[开头]";
tmpString &= "[再累加]";
//*tmpString 等同于 tmpString.value
MessageBox(0,*tmpString,"提示",64);
MessageBox(0,tmpString.value,"提示",64);//分割数组的处理
tmpString.Split("][",0);
for(int i=0;i<tmpString.Count; i++){
MessageBox(0,*tmpString[i],"数组",64);
}//替换文本
tmpString.set_Replace("[","(",0,0);
tmpString.set_Replace("]",")",0,0);
MessageBox(0,*tmpString,"数组",64);//更过方法请参考 VBString.h 文件下载地址:
http://download.csdn.net/source/2698340
如果只是把\换成\\没有必要那么麻烦
CString str = "D:\\TEST\\TEST1.MDB";
str.Replace("\\","\\\\");就行了
1.把从其他函数中取到的路径D:\TEST\TEST1.MDB放CString 变量里:
然后用1楼的方法
str.Replace("\\","\\\\");就行了
2.如果获取的是LPSTR 串,可以用如下方法实现: TCHAR szDesPath[MAX_PATH]={0,},szScrpath[]="D:\\TEST\\TEST1.MDB";
TCHAR *pszDes,*pszSrc;
for (pszDes=szDesPath,pszSrc=szScrpath;*pszSrc;)
{
if ( *pszSrc == '\\')
{
strcat(pszDes,"\\\\");
pszDes +=2;
pszSrc++;
}
else
*pszDes++ = *pszSrc++;
} *pszDes = 0;