Ulaz i izlaz fajla

Ulaz i izlaz fajla

offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

Napisano: 03 Nov 2012 18:23

Radim sad poglavlje ulaz i izlaz i ima ovaj program:
#include <stdio.h> #include <stdlib.h> #if defined (MSDOS)     #define MAXPUT 64 #else     #define MAXPUT 128 #endif int main () {     int zn;     char ime[MAXPUT];     FILE *pf;     printf("Unesite ime: ");     gets(ime);     if(ime[0] == '\0'){         fprintf(stderr, "Nije uneto ime!");         exit(EXIT_FAILURE);     }     pf = fopen(ime, "r");     if(pf == NULL){         fprintf(stderr, "Otvaranje %s nije uspelo", ime);         exit(EXIT_FAILURE);     }     while(zn = fgetc(pf) != EOF){         putchar(zn);     }     return EXIT_SUCCESS; }
I sad ja isto tu gde je i fajl ovaj kad compile imam i text file koji se zove Ulaz i izlaz. I sad ja kad ukucam u programu Ulaz i izlaz on nece da mi ispise ono sto pise unutra i psie da otvaranje nije uspelo. Sta se tu treba doda i zasto se ne otvori i ispise sta pise?

Dopuna: 04 Nov 2012 14:36

Hoce li neko da mi odgovori?
BUMP



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Sve deluje u redu. Probaj da napraviš datoteku C:\TEST.TXT i nju da otvoriš. Možda se samo ne nalaziš u pravom direktorijumu i onda ti ne rade relativne putanje, možda kucaš pogrešno ime, možda imaš neku čudnu verziju c biblioteke koja ne podržava imena datoteka s ratmacima... Probaj to što sam ti predložio, pa ćemo videti dalje.



offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

Dobro, uradio sam i bio je problem jer nisam lepo ukucao ime. I sad on otvori taj fajl i ispise ono sto pise njemu. U fajlu pise: Ja volim programiranje. I on umesto da ispise taj tekst on ispise smajlice onoliko koliko ima ukupno znakova. Znaci "Ja volim programiranje" ima 22 znakova(racuna se i razmak) i on ispise 22 smajlica. Zasto to i sta treba da se uradi da bi ispisao ono sto treba?

offline
  • Pridružio: 19 Maj 2011
  • Poruke: 297

Tako ti je zbog "prednosti" operatora. Ova linija:
while(zn = fgetc(pf) != EOF)
treba da bude ovako:
while((zn = fgetc(pf)) != EOF)

[Link mogu videti samo ulogovani korisnici]

offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

Stavio sam one dve zagrade sam dodao i isto. Probaj, pa ce da vidis kako izlazi.

offline
  • Pridružio: 19 Maj 2011
  • Poruke: 297

offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

Aha, meni je bilo ovako:
while((zn = fgetc(pf) != EOF))
A trebalo je ovako:
while((zn = fgetc(pf)) != EOF)

Sad je u redu i lepo radi.

Hvala ti.. Ziveli Ziveli

Ko je trenutno na forumu
 

Ukupno su 1259 korisnika na forumu :: 102 registrovanih, 8 sakrivenih i 1149 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 9k38, Aleksej, Alexa77, AndrejPetar, avijacija, Betty25, bokisha253, Boris90, boxbole, Centauro, Cian, CraniumWhite, darkdruid72, darkkran, DavidA, DeerHunter, Dimitrise93, Dioniss, Dovla 1980, Dragon Order, Erast Petrovic, famoso, feanor, Folkstar, FOX, gaga23, Gogi_avio, goxin, havoc995, HrcAk47, hyla, ivan979, jalos, joca83, Jovan.D, karevski, Kobrim, kreker, Kruger, Kubovac, Kvazar, LastTsar, Lelemood, Leonov, Lošmi, Macalone, majstro, mercedesamg, Michellefromrezistance, miki kv, Milan A. Nikolic, mile33, milenko1980, Milos ZA, Milos1389, mir, mir juzni, mist-mist, MK10, Motocar, Mskok, nenad81, Njubara, Nobunaga, nobutado, operniki, Orc, Panter, panzerwaffe, Parker, pavle_pzs, pein, Petarvu, Pilence, Povratak1912, PrincipL, royst33, S2M, sasa87, Sass Drake, sedan, shlauf, Singidunumac, sluga, SOVO515, stegonosa, Su 57, superwhy, Tas011, Tihi86, tomigun, trajkoni018, TRZH92, vathra, vidra1, vladulns, Voice1, Weah88, wolf431, XBMC, zoran77, Zorge