这是源代码中的示例。
当我使用
SetEnvironmentVariable("key","false");
并在批处理文件中运行编译的文件
myfile.exe
echo %key%
pause
我的环境变量未定义。
如何更改此设置,使其输出错误?
答案 0 :(得分:1)
环境变量只能沿一个方向传递:从父进程到子进程。在您的情况下,您正在尝试采用相反的方法,这非常困难。
相反,您可以使用程序的返回值
int main(int, char**)
{
// ...
return 123; // some error code maybe
}
可以轻松地与父进程进行通信,但这仅限于整数,并且您可能希望遵守有关这些返回值含义的现有约定。另一种可能性是让主程序写入标准输出,然后可以在批处理文件中对其进行解析以进行进一步处理。