Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

system (naredba) ???

[es] :: C programiranje :: system (naredba) ???

[ Pregleda: 871 | Odgovora: 4 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

peromalosutra
Ivan Rajkovic
PHP/MySQL programmer, Ogosense
Banjaluka

Član broj: 54774
Poruke: 431
*.dialup.blic.net.

Jabber: peromalosutra@elitesecurity.org
Sajt: computer-stuff.freehostia..


Profil

icon system (naredba) ???03.01.2006. u 10:47

Možda je ovo više pitanje sintakse dos-a (tacnije comand prompta) ali zasto mi ovaj programčić ne radi?

Code:
#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{     
    char funkc[]="copy ";  
    char lok[]=" c:\\Documents and Settings\\All Users\\"
                  "Start Menu\\Programs\\Startup\\proba.exe";                     
    int duzina=strlen(funkc)+strlen(argv[0])+strlen(lok);
    char naredba[duzina];    
    for (int i=0; i<strlen(funkc); i++)
        naredba[i]=funkc[i];
    for (int i=0; i<=strlen(argv[0]); i++)
        naredba[i+strlen(funkc)]=argv[0][i];
    for (int i=0; i<strlen(lok); i++)
        naredba[strlen(argv[0])+strlen(funkc)+i]=lok[i];
    naredba[duzina]='\0';                   
    cout << naredba << endl;
    system (naredba);    
    system ("pause");
          
    return 0;
}

Htio sam jednostavno da napravim naredbu koja ce da kopira sam program u, recimo startup... E sad kada za varijablu char lok[] stavimo npr "c:\proba.exe", progam radi dobro i iskopira se na tu lokaciju. Međutim ako je putanja malo duža onda mi prijavi grešku u sintaksi?

ivan@ivan-desktop:~$ ./encrypt.run
*** stack smashing detected ***: ./encrypt.run terminated
Aborted (core dumped)
03.01.2006. u 10:47 

Buffy
Stanko Culaja
za sada sam nezaposlen!
Sipovo,Republika Srpska

Član broj: 45310
Poruke: 312
*.teol.net.

Sajt: www.sipovo.org


Profil

icon Re: system (naredba) ???03.01.2006. u 11:42
Zasto ne koristis sprintf funkciju. Vjerovatno je greska u ovim tvojim for petljama.
Primjer koristenja sprintf-a:
Code:

#include <stdio.h>
#include <string.h>

int main(){
    char a[]="Stanko";
    char b[]="Culaja";
    char *c=new char[strlen(a)+strlen(b)];
    //**************************************
    sprintf(c,"ime: %s\nprezime: %s\n",a,b);
    printf(c);
    return 0;
}



Kao sto vidis funkcija sprintf je slicna funkciji printf i dosta olaksava posao jer umjesto nekoliko tvojih for petlji dovoljan je jedan poziv sprintf-a.
Pozdrav!
SAMO DA RATA NE BUDE,
LUDILA MEDJU LJUDIMA,
VELIKI NUDE ZABLUDE,
PLASE NAS RAZNIM CUDIMA
I SVAKOJ BAJCI NAUDE,
DA RATA NE BUDE.

Djordje Balasevic
03.01.2006. u 11:42 

peromalosutra
Ivan Rajkovic
PHP/MySQL programmer, Ogosense
Banjaluka

Član broj: 54774
Poruke: 431
*.dialup.blic.net.

Jabber: peromalosutra@elitesecurity.org
Sajt: computer-stuff.freehostia..


Profil

icon Re: system (naredba) ???03.01.2006. u 16:20
Dobro, sa scanf je stvarno lakše, ali suština problema je opet ista... Ne znam gdje da postavim ovo pitanje ali ono glasi: Zasto mi u command promptu ovo naredba ne radi:
Code:
copy c:\proba.exe c:\documents and settings\proba.exe

Stalno mi prijavljuje sintax error.
ivan@ivan-desktop:~$ ./encrypt.run
*** stack smashing detected ***: ./encrypt.run terminated
Aborted (core dumped)
03.01.2006. u 16:20 

Mali Misha
Mihajlo Anđelković
NBGD

Član broj: 79396
Poruke: 339
*.powernet.bg.

ICQ: 195487525
Sajt: cpptea.com


Profil

icon Re: system (naredba) ???03.01.2006. u 16:53
Probaj sa navodnicima

Code:
copy "c:\abc" "c:\documents and settings\abc"

Ipak se ++uje.
03.01.2006. u 16:53 

peromalosutra
Ivan Rajkovic
PHP/MySQL programmer, Ogosense
Banjaluka

Član broj: 54774
Poruke: 431
*.dialup.blic.net.

Jabber: peromalosutra@elitesecurity.org
Sajt: computer-stuff.freehostia..


Profil

icon Re: system (naredba) ???04.01.2006. u 17:54
To je to, sad sve radi. Hvala!
ivan@ivan-desktop:~$ ./encrypt.run
*** stack smashing detected ***: ./encrypt.run terminated
Aborted (core dumped)
04.01.2006. u 17:54 

[es] :: C programiranje :: system (naredba) ???

[ Pregleda: 871 | Odgovora: 4 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.