this type of question has been asked several times over here and elsewhere but it seems that I don’t get any of the solutions to work. What I’ve ‘accomplished’ so far is that a variable can be used by two different applications (one application calls the other one via system command) but the value is NOT passed from the main app to the secondary one.
code corresponds to this:
#ifndef avis_h
#define avis_h
#include "string"
using namespace std;
extern int fnu;
#endif
that’s the header file avis_h.
The main program goes like this:
#include "stdafx.h"
...
#include "iostream"
#include "avis_h.h"
int fnu;
int main(){fnu=3;system (app2);}
where app2 is the secondary application:
#include "stdafx.h"
...
#include "iostream"
#include "avis_h.h"
int fnu;
int main(){cout<<fnu;Sleep(10);}
instead of the number 3 the number 0 is displayed. I’ve tried alternative ways but none worked so far. Can somebody please tell me how I get that value passed correctly from the main program to the secondary program?
You can’t share variables between independent applications like that.
You can pass it as a parameter to the
systemcommand:Breakdown:
and don’t forget to:
and retrieve it via
argvin the second application.Or you can use IPC, but that’s overkill in this particular case.