各位  我写了个获取系统路径的方法
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这个路径才能正确的写然后这个问题应该怎么解决呢  拜托各位~~

解决方案 »

  1.   


            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);行不?
      

  2.   

    不明白LZ的意思。
    你最后返回的FilePath里的内容实际上就是C:\\WINDOWS\\system32\\SK_hotvalue.ini,只不过用MessageBox等显示时会显示成C:\WINDOWS\system32\SK_hotvalue.ini,但是你把FilePath作为
    WritePrivateProfileString的最后一个参数,是可以成功创建的,注意前面三个参数别为空。
      

  3.   

    可是问题就出在我用MessageBox显示Getpath()是C:\WINDOWS\system32\SK_hotvalue.ini可怎么也写不
    进去 路径是对的 就是斜杠少了个  用字符串把斜杠加进去就可以了
    关于5楼那个方法还没试 今天机子坏了  试不了
      

  4.   

    可是问题就出在我用MessageBox显示Getpath()是C:\WINDOWS\system32\SK_hotvalue.ini可怎么也写不
    进去 路径是对的 就是斜杠少了个  用字符串把斜杠加进去就可以了
    关于5楼那个方法还没试 今天机子坏了  试不了