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

Ne mogu da otvorim fajlove u c-u

[es] :: C/C++ programiranje :: C/C++ za početnike :: Ne mogu da otvorim fajlove u c-u

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Dovla84
Vladimir

Član broj: 138295
Poruke: 43
91.150.109.*



+1 Profil

icon Ne mogu da otvorim fajlove u c-u24.10.2009. u 19:43 - pre 176 meseci
dobio sam od druga neki seminarski koji mi sluzi kao primer ali ne znam kako da ga pokrenem.U stvari ne znam kako da otvorim fajlove za citanje.Evo dela koda koji se odnosi na otvaranje fajla:
Code:

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

    FILE *in,*out;
    struct cvor * pc=NULL;
    char * vrednosti;
    int i,prvi_clan;

     if(argc>1)
     {
         in=fopen(argv[1],"r");
         if(in==NULL)
         {
             printf("\nNe mogu da otvorim %s .",argv[1]);
             exit(EXIT_FAILURE);
         }
     }
     else in=stdin;

     if(argc>2)
     {
         out=fopen(argv[2],"w");
         if(out==NULL)
         {
             printf("\nNe mogu da otvorim %s .",argv[2]);
             exit(EXIT_FAILURE);
         }
     }
     else out=stdout;


Mene ovde zanima kako da mu zadam da otvori odredjeni fajl jer koliko vidim main funkcija ocekuje argc sto bi bio broj clanova nisa i ocekuje argv -clonove nisa odnosno imena datoteka ali kada probam tako nista se ne desava.Nisam navodio putanju a fajlovi se nalaze u istom direktorijumu kao i program. Hvala u napred

[Ovu poruku je menjao X Files dana 24.10.2009. u 21:42 GMT+1]
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Ne mogu da otvorim fajlove u c-u24.10.2009. u 20:50 - pre 176 meseci
Da li radi ako normalno pokreneš program, na dabl-klik?
 
Odgovor na temu

Dovla84
Vladimir

Član broj: 138295
Poruke: 43
91.150.109.*



+1 Profil

icon Re: Ne mogu da otvorim fajlove u c-u24.10.2009. u 21:51 - pre 176 meseci
ne radi.otvori se prozot kao command promt zamo bez icega,samo kursor trepce.Cudno mi je to sto ne izbacuje gresku sta god da unesem.
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Ne mogu da otvorim fajlove u c-u25.10.2009. u 01:35 - pre 176 meseci
Nije čudno, ako pokreneš exe bez parametara onda moraš da ukucavaš ulazne podatke, i na ekranu ćeš dobiti rezultat rada programa (stdin je tastatura, stdout je konzola tj. ekran). Moguće je da program ne vidi fajlove kad debaguješ jer je aktivni direktorijum u tom slučaju onaj gde je projekat, a ne gde je exe. Premesti ulazne fajlove u folder gde je projekat. Nisi naveo koji IDE koristiš, teoretski je moguće da aktivni direktorijum bude i tamo gde je debager za dotični IDE. U Visual C++ možeš da podesiš "Working Directory" pri debagovanju, a ako koristiš neki drugi IDE, verovatno može i u tom drugom.
 
Odgovor na temu

Dovla84
Vladimir

Član broj: 138295
Poruke: 43
91.150.109.*



+1 Profil

icon Re: Ne mogu da otvorim fajlove u c-u25.10.2009. u 19:06 - pre 176 meseci
Kada ga pokrenem iz command promta on trazi ulazne podatke i kad ih unesem prikaze mi rezultat.Ako samo dva puta kliknem na .exe on se pokrene,ja unesem podatke i on se iskljuci.Probao sam sa premestanjem ulaznog i izlaznog fajla ali nece da ga ucita.Nemam pojma sta da radim.Koristim TURBO C ko zna koju verziju (pokrece se preko dos-a) jer tako zahteva profesor :(
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.rs.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Ne mogu da otvorim fajlove u c-u25.10.2009. u 19:30 - pre 176 meseci
1. Kompajliraj ovaj kod:
Code:

#include <stdio.h>
#include <stdlib.h>

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

    FILE *in,*out;
    struct cvor * pc=NULL;
    char * vrednosti;
    int i,prvi_clan;

    if(argc>1)
    {
        in=fopen(argv[1],"r");
        if(in==NULL)
        {
            printf("\nNe mogu da otvorim %s .",argv[1]);
            exit(EXIT_FAILURE);
        }
    }
    else in=stdin;

    if(argc>2)
    {
        out=fopen(argv[2],"w");
        if(out==NULL)
        {
            printf("\nNe mogu da otvorim %s .",argv[2]);
            exit(EXIT_FAILURE);
        }
    }
    else out=stdout;

    return 0;
}


2. Pronadji gde je kreiran EXE i u isti folder kopiraj MAIN.C, ako vec nije u istom folderu.

3. Pokreni Total Commander, i pozicioniraj se na folder gde su EXE i MAIN.C

4. U komandnoj liniji Total Commander-a (iznad Funkcijskih tastera), ukucaj: 1.exe main.c main.txt
(1 je naziv izvrsnog fajla, ti naravno, napisi svoj)

5. Ako se kreira MAIN.TXT, onda je sve u redu.



U svakom slucaju, bolje skini MinGW:
http://www.elitesecurity.org/p1914937

Inace, kada je bilo nametnuto da se nesto testira iz DOS-a, ja nisam mogao da zivim bez Norton Commandera, pa ga i tebi savetujem. To file manager, preteca Total Commandera.
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Ne mogu da otvorim fajlove u c-u

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

Postavi temu Odgovori

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