今天在写程序的时候,为了使用桌面的路径需要把路径中的"\"转化成"\\"。
首先使用了如下的函数:
SHGetSpecialFolderPath(NULL, szPath, CSIDL_DESKTOP, FALSE);
获取系统桌面文件夹的位置。第二个参数中就保存着桌面的路径,但是我要使用这个路径的时候要把"\"转化成"\\"。
所以我就使用了repalce函数。
strDesktop.Replace("\", "\\");
使用这个函数的时候怎么都不对,于是乎,我把第一个参数的双引号改为单引号,也不对。急,难道这个函数
不是这么用的?度娘一下。
strDesktop.Replace("\\", "\\\\");
这个才是正解。
CStdioFile File_Out;
TCHAR szPath[MAX_PATH];
SHGetSpecialFolderPath(NULL, szPath, CSIDL_DESKTOP, FALSE);
CString strDesktop;
strDesktop = CString(szPath);
strDesktop.Replace("\\", "\\\\");
if(File_Out.Open(strDesktop+"\\Parameter.c", CFile::modeWrite | CFile::modeCreate))
{
CString str_Text = "test string";
File_Out.WriteString(str_Text);
}