CStdioFile打开绝对路径名的有关问题
CStdioFile打开绝对路径名的问题
MFC中
用CStdioFile打开绝对路径名,我传入一个文件路径名,比如C:\a\b\m.txt
CString path = _T("C:\a\b\m.txt");
CStdioFile file;
file.open(path,CFile::modeWrite);
上述这样是不对的,因为要"\"需要用转义字符转换一下
即只有传入路径参数C:\\a\\b\\m.txt才是合理的
问有没有哪个函数可以将
C:\a\b\m.txt直接转换成C:\\a\\b\\m.txt
求给出一个函数或者算法可以解决这个问题
还有一个问题 是MFC中的宽窄字符转换问题
我从程序中写入 _T("adsdfefdsf") 到一个txt文件中就变成了 摡抠敦摦晳 这样一堆乱码,怎么解决呢?
------解决方案--------------------
CString l_cstr = _T("C:\a\b\m.txt");
l_cstr.Replace(L"\",L"\\");
MFC中
用CStdioFile打开绝对路径名,我传入一个文件路径名,比如C:\a\b\m.txt
CString path = _T("C:\a\b\m.txt");
CStdioFile file;
file.open(path,CFile::modeWrite);
上述这样是不对的,因为要"\"需要用转义字符转换一下
即只有传入路径参数C:\\a\\b\\m.txt才是合理的
问有没有哪个函数可以将
C:\a\b\m.txt直接转换成C:\\a\\b\\m.txt
求给出一个函数或者算法可以解决这个问题
还有一个问题 是MFC中的宽窄字符转换问题
我从程序中写入 _T("adsdfefdsf") 到一个txt文件中就变成了 摡抠敦摦晳 这样一堆乱码,怎么解决呢?
------解决方案--------------------
CString l_cstr = _T("C:\a\b\m.txt");
l_cstr.Replace(L"\",L"\\");