路径中的转义字符/如何解决

时间:2023-01-04 19:12:13
路径中的/如何解决,比如“d:/123.txt”
我的函数分别获取名字,路径
该如何解决,给思路吧。。谢谢

11 个解决方案

#1


试试这样呢
"d:\/123.txt"

#2


/不是转义字符,直接strchr、strrchr、CString::Find、string::find

#3



        CString strFilePath = "d:\\aaa\\123.txt";
std::vector<CString> vecFolderName;
CString strFolderName;
strFolderName = strFilePath.Left(strFilePath.ReverseFind('\\'));
        cstring strFileName = strFilePath.Right(strFilePath.GetLength() - strFilePath.ReverseFind('\\')-1);

#4


用shlwapi.h里面的函数  有一坨,非常好使,值得拥有,你看了不会揍我,msnd也有sample

#5


"d:\\123.txt"这样的已经解决,我就差这个了,因为没个人习惯不一样。。。。

#6


是不是我理解错了,是怎么分开这个字符串?
原来“/”不用加“\”的
	CString sText = "d:/123.txt";
int nFind = sText.Find("/");
CString sDir = sText.Left(nFind);
CString sName = sText.Right(sText.GetLength() - nFind - 1);

#7


引用 4 楼 wlwlxj 的回复:
用shlwapi.h里面的函数 有一坨,非常好使,值得拥有,你看了不会揍我,msnd也有sample

好的感谢。。。我这就去看看

#8


引用 6 楼 summer_king 的回复:
是不是我理解错了,是怎么分开这个字符串?
原来“/”不用加“\”的

C/C++ code
    CString sText = "d:/123.txt";
    int nFind = sText.Find("/");
    CString sDir = sText.Left(nFind);
    CString sName = sText.Right(sText.GetL……

nfind=-1。。。。。

#9


引用 8 楼 nicklisir 的回复:
引用 6 楼 summer_king 的回复:
是不是我理解错了,是怎么分开这个字符串?
原来“/”不用加“\”的

C/C++ code
CString sText = "d:/123.txt";
int nFind = sText.Find("/");
CString sDir = sText.Left(nFind);
CString sName = sText.Right(……
到底是 \\  还是 /  
    CString sText = "d:\\123.txt";
    int nFind = sText.Find("\\");
    CString sDir = sText.Left(nFind);
    CString sName = sText.Right(sText.GetLength() - nFind - 1);

#10


是 / 啊,比如
"D:/123.txt"

#11


引用 9 楼 summer_king 的回复:
引用 8 楼 nicklisir 的回复:

引用 6 楼 summer_king 的回复:
是不是我理解错了,是怎么分开这个字符串?
原来“/”不用加“\”的

C/C++ code
CString sText = "d:/123.txt";
int nFind = sText.Find("/");
CString sDir = sText.Left(nFind);
CStr……

你的是对的,谢谢,结贴,我的是UNICODE,后来才发现。。。。。。。。

#1


试试这样呢
"d:\/123.txt"

#2


/不是转义字符,直接strchr、strrchr、CString::Find、string::find

#3



        CString strFilePath = "d:\\aaa\\123.txt";
std::vector<CString> vecFolderName;
CString strFolderName;
strFolderName = strFilePath.Left(strFilePath.ReverseFind('\\'));
        cstring strFileName = strFilePath.Right(strFilePath.GetLength() - strFilePath.ReverseFind('\\')-1);

#4


用shlwapi.h里面的函数  有一坨,非常好使,值得拥有,你看了不会揍我,msnd也有sample

#5


"d:\\123.txt"这样的已经解决,我就差这个了,因为没个人习惯不一样。。。。

#6


是不是我理解错了,是怎么分开这个字符串?
原来“/”不用加“\”的
	CString sText = "d:/123.txt";
int nFind = sText.Find("/");
CString sDir = sText.Left(nFind);
CString sName = sText.Right(sText.GetLength() - nFind - 1);

#7


引用 4 楼 wlwlxj 的回复:
用shlwapi.h里面的函数 有一坨,非常好使,值得拥有,你看了不会揍我,msnd也有sample

好的感谢。。。我这就去看看

#8


引用 6 楼 summer_king 的回复:
是不是我理解错了,是怎么分开这个字符串?
原来“/”不用加“\”的

C/C++ code
    CString sText = "d:/123.txt";
    int nFind = sText.Find("/");
    CString sDir = sText.Left(nFind);
    CString sName = sText.Right(sText.GetL……

nfind=-1。。。。。

#9


引用 8 楼 nicklisir 的回复:
引用 6 楼 summer_king 的回复:
是不是我理解错了,是怎么分开这个字符串?
原来“/”不用加“\”的

C/C++ code
CString sText = "d:/123.txt";
int nFind = sText.Find("/");
CString sDir = sText.Left(nFind);
CString sName = sText.Right(……
到底是 \\  还是 /  
    CString sText = "d:\\123.txt";
    int nFind = sText.Find("\\");
    CString sDir = sText.Left(nFind);
    CString sName = sText.Right(sText.GetLength() - nFind - 1);

#10


是 / 啊,比如
"D:/123.txt"

#11


引用 9 楼 summer_king 的回复:
引用 8 楼 nicklisir 的回复:

引用 6 楼 summer_king 的回复:
是不是我理解错了,是怎么分开这个字符串?
原来“/”不用加“\”的

C/C++ code
CString sText = "d:/123.txt";
int nFind = sText.Find("/");
CString sDir = sText.Left(nFind);
CStr……

你的是对的,谢谢,结贴,我的是UNICODE,后来才发现。。。。。。。。