Этот сценарий оболочки
#!/bin/csh
set VAR=12345
echo $VAR
будет мирно выдавать вывод 12345 в оболочке.
Мне нужно использовать C ++, чтобы сделать то же самое в некоторой части кода:
string str = "12345";
retValue="set var1= "+str;
system(retValue1.c_str());
system("echo $var1");
Это не создает системную переменную var1 и echos null, что понятно, поскольку каждая системная функция создаст дочерний процесс с различными переменными среды. Поэтому я объединяю их следующим образом, используя только одну системную функцию ... но она снова выдает ноль.
retValue="set var1= "+str;
retValue1=retValue+";\n echo $var1";
system(retValue1.c_str());
Может кто-нибудь подсказать, как настроить системную переменную через C ++.
Большое спасибо заранее!