关于路径的问题,求大神求指导

MythKing 2012-09-03 02:19:55
譬如说使用参数 "F:\Program Files\Maxthon3\Bin\Maxthon.exe"

调用GetFileVersionInfoSize() 或 GetFileVersionInfo() 会失败

必须要双斜杠 "F:\\Program Files\\Maxthon3\\Bin\\Maxthon.exe" 调用才会成功


那么有没有什么方法能够把单斜杠转换成双斜杠的,哪位大神知道,跪谢~
...全文
129 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qlizhang 2012-09-03
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
譬如说使用参数 "F:\Program Files\Maxthon3\Bin\Maxthon.exe"
调用GetFileVersionInfoSize() 或 GetFileVersionInfo() 会失败
必须要双斜杠 "F:\\Program Files\\Maxthon3\\Bin\\Maxthon.exe" 调用才会成功
那么有没有什么方法能够把单斜杠转换成……
[/Quote]
固定的文件就手写啊,程序中用函数找到的不用加。
dickbarry 2012-09-03
  • 打赏
  • 举报
回复
1、自己写一个函数,判断‘\’,改写
2、把wchar_t转换为CString

这两种方法都不难
MythKing 2012-09-03
  • 打赏
  • 举报
回复
是替换,但是不能够用CString替换。还有没有什么函数有类似于替换的功能?最好是关于wchar_t格式的[Quote=引用 5 楼 的回复:]
首先楼主得知道一点:单斜杆和双斜杠的区别,\是用于转义字符,\\的第一个\是转义符,第二个\是字符,它们整体对应的字符是\。而\n就是转行的转义字符。于是楼主你是想直接在字符串中使用\来表示分割是不可能的,因为编译器看到\时它要去匹配其后的字符才能确定真正的字符是啥。我觉得楼上的可能误解了楼主的意思,如果只是单纯的转换应该没什么好问的吧。
[/Quote]
breaksoftware 2012-09-03
  • 打赏
  • 举报
回复
首先楼主得知道一点:单斜杆和双斜杠的区别,\是用于转义字符,\\的第一个\是转义符,第二个\是字符,它们整体对应的字符是\。而\n就是转行的转义字符。于是楼主你是想直接在字符串中使用\来表示分割是不可能的,因为编译器看到\时它要去匹配其后的字符才能确定真正的字符是啥。我觉得楼上的可能误解了楼主的意思,如果只是单纯的转换应该没什么好问的吧。
liuli7786 2012-09-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
如果是CString
那么 strPath.Replace(_T("\\"), _T("\\\\"))
应该可以吧
[/Quote]
++
1°叁柒 2012-09-03
  • 打赏
  • 举报
回复
有道理
hdg3707 2012-09-03
  • 打赏
  • 举报
回复
你说的是把单斜杠自动转换成对斜杠吧,按1楼的试试,但这么做:
strPath="F:\Program Files\Maxthon3\Bin\Maxthon.exe"
strPath.Replace(_T("\\"), _T("\\\\"))
dickbarry 2012-09-03
  • 打赏
  • 举报
回复
如果是CString
那么 strPath.Replace(_T("\\"), _T("\\\\"))
应该可以吧

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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