代码之家  ›  专栏  ›  技术社区  ›  user3622460

如何将字符串中的\字符更改为/字符?

  •  0
  • user3622460  · 技术社区  · 8 年前

    为了使WinExec正确调用我的外部程序,我需要有一个程序的完整路径。

    GetFullPathName()返回以下内容。。。

    C:\job\curr01\help\hlp.exe
    

    当我在WinExec中使用这个路径时,什么都没有发生。这是因为WinExec期望。。。

    C:/job/curr01/help/hlp.exe
    

    我的问题是如何扫描字符串中的“\”并将其替换为“/”?

    “\”我是一个特殊的角色,下面的内容不起作用。。。

    for (char* p = helpPath; p = strchr(p, "\"); ++p) {
      *p = "/";
     }
    

    C对“\”有问题,因为它是一个特殊字符。我尝试了“\”和“/”,但似乎没有任何效果。

    2 回复  |  直到 8 年前
        1
  •  3
  •   gsamaras a Data Head    8 年前

    试试这个:

    if (*p == '\\') //Escape the character '\'
        *p = '/';
    
        2
  •  0
  •   Kevin Boone    8 年前

    我不认为 WinExec

    无论如何,您应该修复“\”的逃逸效应,可能只需将其加倍: c:\\path\\to\\my\\exe

    我很感激这不是一个真正的新答案,但我注意到您提出了其他问题,您似乎在Windows路径方面有类似的问题。

    推荐文章