Forum » Programiranje » [C] zagon programa z argumenti
[C] zagon programa z argumenti
Blinder ::
Rad bi, da bi mi program v c-ju zagnal ze narejen in preveden program rescrack.exe. To se doseze z ukazom system("rescrack.exe"). Komplikacija nastane, ker program rescrack.exe potrebuje še en argument za pravilen zagon. Primer v konzoli: "rescrack.exe viper.car". Pravilen zagon se doseze z ukazom system("rescrack.exe viper.car").
Jaz hocem, da bi lahko datoteko .car (drugi argument) podana šele med delovanjem programa. Tak da bi lahko rescrack.exe uporabil še ostale .car datoteke, brez da bi moral vsakic spreminjat kodo programa
Kak lahko to dosezem?
To sem do zdaj naredil:
int _tmain(int argc, _TCHAR* argv[])
{
printf("Type in the .car file you wish to edit: ");
char carFile[10];
scanf("%s", carFile);//prebere katero datoteko .car hocem uporabit
printf("Running Rescrack %s\n", carFile);
system("rescrack.exe viper.car");//tako dela pravilno, rad bi, da bi bil viper.car spremenljivka
getch();
return 0;
}
Jaz hocem, da bi lahko datoteko .car (drugi argument) podana šele med delovanjem programa. Tak da bi lahko rescrack.exe uporabil še ostale .car datoteke, brez da bi moral vsakic spreminjat kodo programa
Kak lahko to dosezem?
To sem do zdaj naredil:
int _tmain(int argc, _TCHAR* argv[])
{
printf("Type in the .car file you wish to edit: ");
char carFile[10];
scanf("%s", carFile);//prebere katero datoteko .car hocem uporabit
printf("Running Rescrack %s\n", carFile);
system("rescrack.exe viper.car");//tako dela pravilno, rad bi, da bi bil viper.car spremenljivka
getch();
return 0;
}
99.991% of over-25 population has tried kissing.
If you're one of the 0.009% who hasn't, copy & paste this in your Signature.
Intel i3-12100f gtx 3050 Pismo smo stari v bozjo mater. Recesija generacija
If you're one of the 0.009% who hasn't, copy & paste this in your Signature.
Intel i3-12100f gtx 3050 Pismo smo stari v bozjo mater. Recesija generacija
- spremenilo: snow ()
Blinder ::
No pa mi je le ratalo
char dds[16] = "rescrack.exe ";
strcat(dds, carFile);
system(dds);
char dds[16] = "rescrack.exe ";
strcat(dds, carFile);
system(dds);
99.991% of over-25 population has tried kissing.
If you're one of the 0.009% who hasn't, copy & paste this in your Signature.
Intel i3-12100f gtx 3050 Pismo smo stari v bozjo mater. Recesija generacija
If you're one of the 0.009% who hasn't, copy & paste this in your Signature.
Intel i3-12100f gtx 3050 Pismo smo stari v bozjo mater. Recesija generacija
Blinder ::
mile: sem poskusil tudi tvojo varianto, dela, hvala.
99.991% of over-25 population has tried kissing.
If you're one of the 0.009% who hasn't, copy & paste this in your Signature.
Intel i3-12100f gtx 3050 Pismo smo stari v bozjo mater. Recesija generacija
If you're one of the 0.009% who hasn't, copy & paste this in your Signature.
Intel i3-12100f gtx 3050 Pismo smo stari v bozjo mater. Recesija generacija
fiction ::
Ja, dobro bi bilo paziti na to, da ne pride do buffer overflowa:
strncat & snprintf (oz. sprintf_s) namesto strcat in sprintf.
Pa tudi system() je ponavadi problematicen ker pozene shell in bi ga lahko s
posebnimi znaki v argumentu zavedel.
Namesto da bi preverjal znake od uporabnika, bi bilo tu verjetno bolj
pametno uporabiti kar direktno execve (oz. CreateProcess na win) sistemski klic.
strncat & snprintf (oz. sprintf_s) namesto strcat in sprintf.
Pa tudi system() je ponavadi problematicen ker pozene shell in bi ga lahko s
posebnimi znaki v argumentu zavedel.
Namesto da bi preverjal znake od uporabnika, bi bilo tu verjetno bolj
pametno uporabiti kar direktno execve (oz. CreateProcess na win) sistemski klic.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Termometer na USB vodilu (načrt, vezja, izkušnje in slike) :P (strani: 1 2 3 4 5 )Oddelek: Elektrotehnika in elektronika | 35364 (23540) | SloMusty |
» | [NALOGA][Java] Branje vsebine datoteke vzvratnoOddelek: Programiranje | 1609 (1551) | SkIDiver |
» | int to string v c++Oddelek: Programiranje | 2331 (2059) | OwcA |
» | Pointer-ji v C-juOddelek: Programiranje | 1775 (1473) | rokpok |
» | C++ in pavzaOddelek: Programiranje | 1218 (979) | napsy |