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
  • 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 890 korisnika na forumu :: 88 registrovanih, 9 sakrivenih i 793 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 20624 - dana 04 Apr 2026 04:18

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., Asteker, Automaticar, Avalon015, Bobrock1, bojanM84, Bojcca, Boris BM, Borski1977, Bosnjo, BOXRR, bpop, brandža84, Chainsaw, cuvarkuca, cvrle312, d.arsenal321, Despot1, Dimitrije Paunovic, Dimitrise93, Dogma21, Dusko_Dugousko, dzada, elenemste, FOX, Giskard, Gitzherai, glados, goxin, GrammaticalAnalysis, IQ116, istina, jalos, jarovitt, Jeremiah, Jester, jodzula, Jose, kikisp, king011, kolle.the.kid, Kriglord, kybonacci, ladro, Lance Guest, Lep1na, Lucije Kvint, Mahovljani, marsi, Maruti, mat, max power, mačković, milenko crazy north, Milometer, Misirac, morava_01, Mzee, nikoladim, nixos, Orc, Panter, Pekman, Pero, probisic, RajkoB, raykan, Reddot, saki80, Shinobi, Sioux7674, spalev, stegonosa, taomaster, Tas011, tritonus, Trpe Grozni, tubular, vaci, vathra, vidra1, VladaKG1980, wolf431, wolverined4, xAlex2, zubri, zule2, 1107