임시 폴더에 파일을 쓰려고하는데 제대로 실행되지 않습니다. 나중에이 코드를 호출하여 올바른 위치를 참조하지만 존재하지 않는다고 말합니다. 내가 뭘 잘못하고 있는지에 대한 어떤 생각?임시 폴더에 쓰는 방법
ofstream fout("%TEMP%\\test.bat");
fout << "cd C:\\Users\\jrowler\\Documents" << endl;
//Some more fout commands to write to bat
fout.close();
wchar_t cmdline[] = L"cmd.exe /C %TEMP%\\test.bat";
if (!CreateProcess(NULL, cmdline, NULL, NULL, false, CREATE_UNICODE_ENVIRONMENT,
(LPVOID)env.c_str(), NULL, &si, &pi))
{
std::cout << GetLastError();
abort();
}
TEMP 폴더를 사용하지 않으면 모든 것이 작동합니다. 바탕 화면에 넣고 싶다면 완벽하게 작동합니다. 생성시 환경 변수가 올바르게 작동하지 않는 이유는 있지만 프로세스를 만들려고 할 때 환경 변수에 지정된 올바른 위치를 참조하는 오류가 발생합니다.
'fstream'은 Windows 환경 변수 확장을 전혀 알지 못합니다. 변수를 잡고 직접 해보고 싶을 것입니다. https://msdn.microsoft.com/en-us/library/windows/desktop/ms683188(v=vs.85).aspx –
이 질문에 답변하기 위해 내가 제공 할 수있는 것이 있습니까? – Jeff
아니, 정말 좋았어! 미안 지연 수용. –