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

prosledjivanje imena fajla programu

[es] :: C/C++ programiranje :: prosledjivanje imena fajla programu

[ Pregleda: 1790 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

darkside
Vladimir Mitrovic
Vracar Beograd

Član broj: 7454
Poruke: 73
*.verat.net

ICQ: 145634382


Profil

icon prosledjivanje imena fajla programu28.12.2003. u 07:50 - pre 247 meseci
dakle, probao sam klasicno
#include <stdio.h>
main(string arg)
{
FILE *f_app;
f_app = fopen(arg, "a")
...tralalala...
fclose(arg)
}

ali je problem u tome sto mi kompajler (VC++, gcc i DMC/C++)
prijave gresku kao argument koji nigde nije definisan pre toga (sto je i logicno, jer je u pitanju main program)
e sad, da li treba da stavim #define argument kao preprocesorsku direktivu i da li bi to nesto promenilo, ako ne, kako onda????

(da ne bude zamene, hocu da mogu sledece: c:\prog tekst.txt koji ce on da obradi onda)
hvala

i am NOT your father!
 
Odgovor na temu

blaza
n/a

Član broj: 961
Poruke: 743
*.vdial.verat.net



+3 Profil

icon Re: prosledjivanje imena fajla programu28.12.2003. u 08:53 - pre 247 meseci
Ovo ce najbolje odgovarati tvojim potrebama:

Code:


#include <stdio.h>

int main(int argc, char* argv[])
{
    FILE *f_app;

    if (argc != 2)
        printf("Alo, majstore!?!\n");
    else
    {
        if (f_app = fopen(argv[1], "a"))
        {
            //...tralalala...            
            fclose(f_app);
            printf("U redu je...");
        }
/*     else                              
            printf("Nema fajla!");    
*/ }
    return(0);
}



Zadnja else instrukcija uokvirena /* */ ce ti trebati samo ako kao drugi argument
funkcije fopen koristis "r" ili neki drugi mod koji po default-u ne kreira fajl ako
isti vec ne postoji.
I ne zaboravi, mod "a" se koristio za dodavanje podataka na kraj fajla BEZ uklanjanja EOF
markera CTRL+Z, a ako zelis da uradis isto i uz to da uklonis EOF marker, koristi "a+".

O_o
 
Odgovor na temu

darkside
Vladimir Mitrovic
Vracar Beograd

Član broj: 7454
Poruke: 73
*.verat.net

ICQ: 145634382


Profil

icon Re: prosledjivanje imena fajla programu28.12.2003. u 11:12 - pre 247 meseci
radi, nije mi jasno zasto, ali radi!
hvala
i am NOT your father!
 
Odgovor na temu

blaza
n/a

Član broj: 961
Poruke: 743
*.vdial.verat.net



+3 Profil

icon Re: prosledjivanje imena fajla programu28.12.2003. u 13:03 - pre 247 meseci
Nema na cemu.
Sta ti nije jasno? Sve mozes naci u help-u.

ipak ukljuci ono else, na sledeci nacin:

Code:

    else
         printf("Greska");



posto, ako nisi u stanju da kreiras ili otvoris fajl za dodavanje (npr. ako hoces da radis sa fajlom na disketi na kojoj je write protect, ili sl. fopen ce vratiti NULL, a program nece nista javiti.
O_o
 
Odgovor na temu

Goran Rakić
Beograd

Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: prosledjivanje imena fajla programu28.12.2003. u 13:06 - pre 247 meseci
zašto ti nije jasno? argc je broj članova niza argv. argv je niz argumenata prosleđenih programu tako da je prvi član ime izvršne verzije programa, a ostali članovi su parmetri - reči, pokazivači na char niz koj ise završava sa \0 sekvencom (string). Dakle, argv[0] je ime programa, argv[1] je prvi parametar, a argv[argc-1] je poslenji parametar. Kako ti imaš samo jedan parametar argc je jednako 2, a parmetar je u argv[1].
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

darkside
Vladimir Mitrovic
Vracar Beograd

Član broj: 7454
Poruke: 73
*.verat.net

ICQ: 145634382


Profil

icon Re: prosledjivanje imena fajla programu28.12.2003. u 15:03 - pre 247 meseci
ahaaaaaaaa sad kapiram nije mi bilo jasno zasto ovo:
if (argc != 2)
nisam znao da on uzima i SVOJE IME kao parametar, ok sada se uklapa,
za else sam znao od ranije, samo sto je sintaksa bila malo drugacija, koriste najcesce (!ime_fajla), tj samo obrnuto od ovoga je u else-u pozitivno razreseno otvaranje, to spomenu u svakom C/C++ tutorijalu sa fstreamovima

hvala momci puno ste mi pomogli!
i am NOT your father!
 
Odgovor na temu

[es] :: C/C++ programiranje :: prosledjivanje imena fajla programu

[ Pregleda: 1790 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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