Sto cercando di capire le chiamate di sistema fatte in C++ usando il sistema ("qualche comando"). ecco il codicecome funziona la funzione system() in C++?
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
cout << "Hello ";
system("./pause");
cout << "World";
cout << endl;
return 0;
}
la "pausa" eseguibile viene creato dal seguente codice
#include <iostream>
using namespace std;
int main()
{
cout<<"enter any key to continue\n";
cin.get();
return 0;
}
ottengo il seguente output
enter any key to continue
1
Hello World
Qualcuno può spiegare l'uscita a me? Mi aspettavo questo -
Hello
enter any key to continue
1
World
L'aspettativa è dovuta al buffering 'std :: cout', non è correlato al sistema. Se cambi 'cout <<" Hello ";' a 'cout <<" Hello "<< endl;' dovresti vedere cosa ti aspettavi. – Telokis
Si noti che il nome "system call" è già preso da [un altro concetto] (https://en.wikipedia.org/wiki/System_call). – nwp