We help IT Professionals succeed at work.

Check out our new AWS podcast with Certified Expert, Phil Phillips! Listen to "How to Execute a Seamless AWS Migration" on EE or on your favorite podcast platform. Listen Now

x

How to start a program from another program ?

probine
probine asked
on
Medium Priority
388 Views
Last Modified: 2010-04-01
I am using C++ in Linux.

Simple: I have a program that prints HELLO in the screen. Now, this program should call another program, let us say a program that in a new window will say THANK YOU FOR HELPING.

I know you can open files and write to files from a program, but I want now to start another simple program from the first program.

Thank you, and if you need more details, et me know it.
Comment
Watch Question

CERTIFIED EXPERT

Commented:
Hi probine,

depends a bit on the environment aou are in, but you can use

int system( const char *command );

to start another prog from your app.
if you can give us your env. we can give you other possibilities

hth
leflon

Commented:
If u have the executable of the second file
Then u could use
system ( execuatble path of second file ) ;

However, I doubt if this would give u the second file output in a new window
It would give the output in the same output widow as that of first

Amit

Commented:
Sorry  leflon,

I guess we started the same time

Amit

Author

Commented:
This is what I have:

1. A program called main.cpp
2. A program called test.cpp


This is what I have in main:
*************************
include<iostream>
using namespace std;
int main()
{
   cout <<"Hello";
   // I want to execute the program test.cpp here
}

This is what I have in test.cpp
***************************
include<iostream>
using namespace std;
int main()
{
   cout <<"THANK YOU FOR YOUR HELP";
}


Do I have to incude some header file or something ?
CERTIFIED EXPERT

Commented:
@Amit: yepp happens to me all the time :-)


oops somehow overread the first line  >> I am using C++ in Linux

leflon
CERTIFIED EXPERT
Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION

Author

Commented:
Great help and easy to understand... thank you leflon and SYS prog.

You both gave me a good answer... Can I split the points ?

Author

Commented:
Perhaps you can help me with this:

I need to print HELLO in the screen every 10 seconds.

What class do I include and how is the code ?
CERTIFIED EXPERT

Commented:
probine,

do you have to print a certain number of times or till a key is pressed?

you can use time_t (seconds since 1.1.1970) and the according time functions (include <time.h>).

time_t tNow;
time(&tNow);  // getsystem time in seconds now
int ix = 0;
while(ix<10)
{
    cout << "Hello";
    while((tNow+10)>time(NULL))  // loop till actual system time is 10 seconds greater than tNow
    {
// use either
        sleep(1);       //stops thread for 1 second, check your man pages for header needed for this
// or
        usleep(1000);   //stops thread for 1000 microsecond, check your man pages for header needed for this
// you can omit the sleeps, but then the prog will use 100% of the system for the whole time it runs, which is not very good
    }
    time(&tNow);
}

leflon
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.