简单问题

laolaoliu2002 2003-04-01 10:04:56
我得到一个目录形式如下:
C:\test\test\dubug
如何将其改为如下形式:
C:\\test\\test\\debug
不能用CString。
问题困扰了我2天了。
...全文
26 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xumahua 2003-04-01
  • 打赏
  • 举报
回复
laolaoliu2002 2003-04-01
  • 打赏
  • 举报
回复
谢谢各位问题已经解决,散分
laolaoliu2002 2003-04-01
  • 打赏
  • 举报
回复
还有问题,我debug跟踪最后发现出现下面的情况:
newDir的值为:c;\\test\\test\\debug.........test\test\debug
laolaoliu2002 2003-04-01
  • 打赏
  • 举报
回复
谢谢各位,问题基本解决,来的都有分。
  • 打赏
  • 举报
回复
呵呵,你在c中可以写char a[ ]="c:\text";吗?必须用\\,即便你从标准输入或文件得到‘\',储存在字符串里也就是"\\"了,根本没有'\',因为它用来表示转义字符串
laolaoliu2002 2003-04-01
  • 打赏
  • 举报
回复
用'\\'替换具体说说。
awaip 2003-04-01
  • 打赏
  • 举报
回复
循环有问题,i改动后对cuiDir取值有误,改动如下:
for(i=0,j=0;i<len;i++,j++)
{
newDir[j]=curDir[i];
if(curDir[i]==ch)
{
newDir[j+1]=ch;
j=j+1;
}
}
bobob 2003-04-01
  • 打赏
  • 举报
回复
果然简单
扫描字符串,如果是\就用\\替换
prettynacl 2003-04-01
  • 打赏
  • 举报
回复
没调试,不知道行不行。
char curDir[MAX_PATH];
char newDir[64];
int counter = 0;
int i;
int ch='\\';
int len = GetCurrentDirectory(MAX_PATH,curDir);
for(i=0;i<len;i++)
{
newDir[i + counter]=curDir[i];
if(curDir[i]==ch)
{
counter ++;
//curDir[i+1]=curDir[i+2];
newDir[i+counter]=ch;
//i=i+3;
}
i ++;
}
cenlmmx 2003-04-01
  • 打赏
  • 举报
回复
strtok()定位找到'\',用'\\'替换.
lbaby 2003-04-01
  • 打赏
  • 举报
回复
呵呵
只要不是编写程序时的字符串
没有这个必要吧?

你可以这样:
一个个截取字符,判断是否为\
是的话,替换为\\就可以了


laolaoliu2002 2003-04-01
  • 打赏
  • 举报
回复
我的程序如下:
char curDir[MAX_PATH];
char newDir[64];
int i;
int ch='\\';
int len = GetCurrentDirectory(MAX_PATH,curDir);
for(i=0;i<len;i++)
{
newDir[i]=curDir[i];
if(curDir[i]==ch)
{
//curDir[i+1]=curDir[i+2];
newDir[i+1]=ch;
i=i+3;
}
}
得到的结果为C:\\est\\est\\ebug

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧