如何使用GetPrivateProfileString()从当前目录上移目录

时间:2019-06-26 06:36:12

标签: c++ ini

我正在尝试使用GetPrivateProfileString从ini文件中读取程序的身份验证详细信息。我想上去directory/Folder/File.ini),但不知道怎么做

我尝试过GetFullPathName()

void ini {


std::string iniPath = "/Ice/Ice.ini";
    LPWSTR inipath = A2W_EX(iniPath.c_str(), iniPath.length());



    DWORD IniPath = std::strtoul(iniPath.c_str(), NULL, 16);


    std::string playerUsername;

    std::string playerPassword;

    TCHAR iniauthChar[32];



    playerUsername = GetPrivateProfileString(authheader, authuser, 0, iniauthChar, 256, inipath);
    playerPassword = GetPrivateProfileString(authheader, authpass, 0, iniauthChar, 256, inipath);



}

这是我的ini文件,位于上面的目录

[AUTH]
Username=
Password=

1 个答案:

答案 0 :(得分:0)

对于Windows上的目录路径,应使用\\而不是/

#include <windows.h>
#include <iostream>

int main()
{
    LPWSTR fn = L"Ice\\Ice.ini";

    wchar_t buf[MAX_PATH];      
    GetFullPathNameW(fn, MAX_PATH, buf, NULL);

    std::wcout << buf << std::endl;
}

或使用ANSI字符串:

#include <windows.h>
#include <iostream>

int main()
{
    LPSTR fn = "Ice\\Ice.ini";

    char buf[MAX_PATH];     
    GetFullPathNameA(fn, MAX_PATH, buf, NULL);

    std::cout << buf << std::endl;
}