_wfreopen适用于c:/path/file.txt但不适用于c:\ path \ file.txt?

TCHAR finalpath[MAX_PATH]; GetCurrentDirectory(MAX_PATH,finalpath); TCHAR filename[] = TEXT("\\lista.txt"); wcscat(finalpath,filename); wprintf(L"List will be saved to %s", finalpath); 

所以这基本上证实了我的最终路径确实是c:\ somepath \ lista.txt

_wfreopen(TEXT(finalpath),TEXT("w"),stdout);

如果我只是改变它

 _wfreopen(TEXT("c:/somepath/lista.txt"),TEXT("w"),stdout); 

一切都工作正常,为什么以及如何让它接受我的最终路径arg?

谢谢

您不要将TEXT宏与变量一起使用。 我很惊讶_wfreopen(TEXT(finalpath),TEXT("w"),stdout); 甚至编译。

尝试_wfreopen(finalpath,TEXT("w"),stdout);