配置文件文件路径获取有关问题
配置文件文件路径获取问题
各位 我写了个获取系统路径的方法
LPSTR Fileout::Getpath()
{
char SysPath[MAX_PATH];
LPSTR FilePath;
DWORD type=REG_SZ;
DWORD size=MAX_PATH;
GetSystemDirectory(SysPath,size);
FilePath=lstrcat(SysPath,"\\SK_hotvalue.ini");
return FilePath;
}
返回的值是“C:\WINDOWS\system32\SK_hotvalue.ini”
可我用::WritePrivateProfileString() 方法写配置文件的时候它找不到那个文件 要用
C:\\WINDOWS\\system32\\SK_hotvalue.ini这个路径才能正确的写
然后这个问题应该怎么解决呢 拜托各位~~
------解决方案--------------------
\表示转义字符,因此c++中的\其实用\\来表示,这个好象没什么问题,如果楼主是直接输入字符串的话,路径肯定用\\表示
------解决方案--------------------
返回参数改成lpctstr看看
------解决方案--------------------
1楼就是正解。lz要了解一下转义符,基础知识
------解决方案--------------------
各位 我写了个获取系统路径的方法
LPSTR Fileout::Getpath()
{
char SysPath[MAX_PATH];
LPSTR FilePath;
DWORD type=REG_SZ;
DWORD size=MAX_PATH;
GetSystemDirectory(SysPath,size);
FilePath=lstrcat(SysPath,"\\SK_hotvalue.ini");
return FilePath;
}
返回的值是“C:\WINDOWS\system32\SK_hotvalue.ini”
可我用::WritePrivateProfileString() 方法写配置文件的时候它找不到那个文件 要用
C:\\WINDOWS\\system32\\SK_hotvalue.ini这个路径才能正确的写
然后这个问题应该怎么解决呢 拜托各位~~
------解决方案--------------------
\表示转义字符,因此c++中的\其实用\\来表示,这个好象没什么问题,如果楼主是直接输入字符串的话,路径肯定用\\表示
------解决方案--------------------
返回参数改成lpctstr看看
------解决方案--------------------
1楼就是正解。lz要了解一下转义符,基础知识
------解决方案--------------------
- C/C++ code
char SysPath[MAX_PATH]; LPSTR FilePath; DWORD type=REG_SZ; DWORD size=MAX_PATH; GetSystemDirectory(SysPath,size); CString temp; FilePath=lstrcat(SysPath,"\\SK_hotvalue.ini"); temp=FilePath; temp.Replace("\\","\\\\"); MessageBox(temp);
------解决方案--------------------
不明白LZ的意思。
你最后返回的FilePath里的内容实际上就是C:\\WINDOWS\\system32\\SK_hotvalue.ini,只不过用MessageBox等显示时会显示成C:\WINDOWS\system32\SK_hotvalue.ini,但是你把FilePath作为
WritePrivateProfileString的最后一个参数,是可以成功创建的,注意前面三个参数别为空。