Okej, załóżmy, że mam plik b.exe, który pobiera argument łańcuchowy. Chcę powołać b.exe ciągu a.cpp z systemu:jak przekazać zmienną argument do exe?
string s1 = "hallo";
system("b.exe s1");
printf("s1 after invoke = %s",s1);
i jest to kod w b.cpp:
int main(string s)
{
s = "hello world";
return 0;
}
co chcę, kiedy uruchomić. exe, wyjście będzie:
s1 after invoke = hello world
czy można to zrobić? zasadniczo, po prostu chcę przekazać zmienną do exe, ale musi być przez odniesienie, nie tylko przez wartość, ponieważ chcę, aby zmienna była przetwarzana i modyfikowana w exe, który wywołałem. Przeszukałem już rozwiązanie w Internecie, ale daje mi to tylko sposób przekazania zmiennej wartości przez wartość exe, a nie przez odniesienie ..
każda sugestia zostanie bardzo doceniona, ale jeśli to możliwe, chcę sugestię w postaci powyższego kodu korekcji i dołączyć pliki, jeśli takie istnieją. dzięki za pomoc :)
Klasyczne pytanie na komunikację między procesami! Prostym rozwiązaniem jest udostępnienie pamięci między tymi dwoma procesami. Jeśli używasz Linuksa, wyszukaj 'mmap()' i zobacz przykładowe programy. :-) – Stan