-3
我有问题,使这个小片代码工作:C++编程转换为const char *为const wchart_t *
#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
string Filepath;
string Temp;
int WINAPI WinMain(HINSTANCE instanceHandle, HINSTANCE, char*, int)
{
const char* env_p = std::getenv("TEMP");
std::getenv("TEMP");
Temp = env_p;
Filepath = Temp + "\\File.txt";
Editfile id(Filepath.c_str());
std::cin.get();
return 0;
}
错误C2664从 “为const char *” 转换为 “常量为wchar_t *” 是不可能的
我看到了问题,但对我来说修复它并不容易。
那一行究竟你得到这个错误?你可以使用[MultiByteToWideChar函数](https://msdn.microsoft.com/en-us/library/windows/desktop/dd319072(v = vs.85).aspx),但也许你不需要它。这取决于你的项目设置。你可能只需要对你使用的API进行调整 – mvidelgauz
'std :: getenv()'可以返回一个'nullptr'。你可以使用:'Temp = env_p? env_p:“”;'以避免未定义的行为。 – Galik
Editfile id(Filepath.c_str()); – Marabunta