读书人

路径转换有关问题

发布时间: 2012-02-04 15:43:09 作者: rapoo

路径转换问题
我现在获取了我的程序的当前路径,
例如:D:\123\
我现在在程序里面可能要用到D:\\123\\
就是把 "\ ",转换成 "\\ "

急啊,

[解决办法]
不知道有没有现成的,可以自己写一个,也快吧,挨个赋给另一个字符串就好了
[解决办法]
if (*p!= '\\ ')
path[i++] = *p;
else
{
path[i++]= '\\ ';
path[i++]=...
}

[解决办法]
需要转化吗?
你在调试里看就是 D:\\123\\
但是如果你用MessageBox看就是 D:\123\
这是系统自动做的,不用你考虑
[解决办法]
如需转换
参考下面

CString m_strFilePath; //在头文件中定义存储路径的变量。
void SetFilePath(CString NoPathFileName)
{
//NoPathFileName只是文件名字,不带驱动器路径。
//本函数主要功能是给其加上驱动器路径,赋值于m_strFilePath。


char szBuf[256];
GetModuleFileName( NULL,szBuf,sizeof(szBuf)); //该函数得到应用程序路径。
//下面剥离应用程序名字,得到驱动器路径。然后加载在文件名字前。
char path[256];
int i=0;
char *p=szBuf;
int count=0;
for(;*p;p++)
{//把单斜杠变成双斜杠处理。
if(*p!= '\\ ')path[i++]=*p;
else
{
path[i++]= '\\ ';
path[i++]= '\\ ';
count+=2;
}
}
path[i]= '\0 ';
char *q=path;
int k=0;
for(;*q;q++)
{
if(*q== '\\ ')
{
if(k==count-1)break;
else k++;

}
}
q++;
*q= '\0 ';
//剥离完毕。带双斜杠的驱动器路径存储在path中。下面赋值。

m_strFilePath=(CString)path+NoPathFileName;

//m_strFilePath存储了带驱动器路径的文件名路径。

}

[解决办法]
^_^,就是就是……同意楼上的
要是转也不复杂啊,就转啊,碰到 '\\ '-> '\\\\ '
代码里的\\代表实际的\

读书人网 >VC/MFC

热点推荐