Problem z funkcją system
Ostatnio zmodyfikowano 2014-03-12 22:38
km2442 Temat założony przez niniejszego użytkownika |
Problem z funkcją system » 2014-03-12 17:03:45 Witam, dopiero zaczynam uczyć się programowania.
Chciałbym się dowiedzieć czy istnieje możliwość wprowadzenia do funkcji system() wartośći ze zmiennej:
int zm; system("[Komenda][Tu bym chciał wpisać zmienną]"); //chodzi mi o komendę wpisywaną do cmd
Dziękuję za pomoc.
|
|
DaiGyakusatsu |
» 2014-03-12 17:16:07 Oczywiście że istnieje taka możliwość. Korzystając z http://www.cplusplus.com/reference/sstream/ można zrobić coś takiego ;> #include <iostream> #include <sstream> #include <cstdlib>
std::string number2String( int var ) { std::ostringstream ss; ss << var; return ss.str(); }
int main( void ) { int zmienna = 5; system(( "ping wp.pl -c " + number2String( zmienna ) ).c_str() ); return 0; }
|
|
pekfos |
» 2014-03-12 17:18:25 |
|
km2442 Temat założony przez niniejszego użytkownika |
» 2014-03-12 17:53:08 Nie wiem jakim cudem (nie jestem na takim poziomie), ale to działa. Dzikuję.
PS. Byłbym wdzięczny, gdyby mi ktoś wytłumaczył w jak najprostszy sposób jak działa ta funkcja.
|
|
DaiGyakusatsu |
» 2014-03-12 17:58:40 |
|
km2442 Temat założony przez niniejszego użytkownika |
» 2014-03-12 22:20:58 Mam jeszcze pytanie dodatkowe, czy za pomocą tej funkcji można podciągnąć pod 'system' zmienną string z tekstem? |
|
DaiGyakusatsu |
» 2014-03-12 22:26:28 Tak... Korzystając z tego linku który wysłałem dowiadujemy się że... int system( const char * command ); i patrząc znów do dokumentacji można wywnioskować..... #include <iostream> #include <string> #include <cstdlib> using namespace std;
int main( void ) { string komenda = "komenda tralalalalala"; system( komenda.c_str() ); return 0; }
Przeglądanie dokumentacji nie boli, uwierz mi ;> |
|
km2442 Temat założony przez niniejszego użytkownika |
» 2014-03-12 22:38:11 Dzięki za info. :)
PS. Póki jestem 'bardzo początkujący' to dokumentacja mnie przyprawia o zawał :[ tak więc jeszcze raz dzięki. |
|
« 1 » |