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

problem sa citanjem ulaznog file-a

[es] :: C/C++ programiranje :: problem sa citanjem ulaznog file-a

[ Pregleda: 3357 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vlada89

Član broj: 21638
Poruke: 42
80.93.231.*



Profil

icon problem sa citanjem ulaznog file-a19.03.2006. u 17:48 - pre 219 meseci
Dakle , ovo je kod jednog programa koji cita i ispisuje imena iz nekog file-a ulaz , ali samo za prvi slog.Interesuje me kako treba modifikovati program da ucita sledeci slog ,ispise ga, i tako sve do kraja datoteke?

FILE *ulaz;
struct slog{char ime[10];};
slog pod;
ulaz=fopen("nova.dat","a");
do
{
/*ovde,pretpostavljam, treba postaviti SEEK ali ne znam kako!!! */
fread(&pod,sizeof(pod),1,ulaz);

printf("%s",pod.ime);
}
while(sizeof(pod)!=0);
fclose(ulaz);
getch();


Hvala za pomoc .
 
Odgovor na temu

Buffy
Stanko Culaja
Sipovo, BiH

Član broj: 45310
Poruke: 312
*.teol.net.



Profil

icon Re: problem sa citanjem ulaznog file-a19.03.2006. u 21:35 - pre 219 meseci
uopste te nisam shvatio.
Sta znaci slog???
Code:

while(sizeof(pod)!=0);

Ovo je bezkonacna petlja, jer sizeof pod nikad nece biti 0, vec ce biti 10( isto kao da si stavio while(1) )???

 
Odgovor na temu

zokio
Balkan

Član broj: 27826
Poruke: 43
*.scst.hr.

Sajt: student.oss.unist.hr/~zs9..


Profil

icon Re: problem sa citanjem ulaznog file-a20.03.2006. u 03:24 - pre 219 meseci
Hm vidim da imas malo problema sa samom sintaksom jezika ! ! !

1. fread() funkcija ti treba samo ako si kreirao binarnu datoteku npr. fp=fopen("ime datoteke","wb");

2. vidim da si poceo neku strukturu nisi ni naveo gdje je main funkcija...

3. struktura ti nije pravilno definirana "slog pod"-nevalja --- treba ici nekako ovako

struct slog
{
char ime[10];
};

struct slog pod;

da znas za ubuduce, mada ti ako sam te dobro skuzio za ovo sto ti trazis struktura uopce ne treba.

e da i u onoj fread()--funkciji ****fread(&pod,sizeof(pod),1,ulaz);****

fread(&pod.ime,sizeof(char), 25 /*(npr znakova)*/,ulaz);

i pozvao si jos petlju;: while, getc() funkciju, a mislim da ni sam nisi razumio zasto....

evo ti pa pogledaj vec je bilo slicno pitanje samo jos i sa brojanjem znakova i dao sam odgovor :

http://www.elitesecurity.org/tema/167221/0#1086393

nadam se da ce ti pomoci
pozdrav ! !!

[Ovu poruku je menjao zokio dana 20.03.2006. u 04:24 GMT+1]

[Ovu poruku je menjao zokio dana 20.03.2006. u 04:24 GMT+1]
Poslije spavanja treba odmorit ! ! !
 
Odgovor na temu

vlada89

Član broj: 21638
Poruke: 42
80.93.231.*



Profil

icon Re: problem sa citanjem ulaznog file-a20.03.2006. u 10:26 - pre 219 meseci
Zokio, ja sam hteo da procitam sa (fread) i da potom stampam prvi procitani slog ,zatim sledeci itd.

#include <string.h>
#include <stdio.h>

main()
{
FILE *ulaz;
struct slog{char ime[10];}; // definisem strukturu slog koja ima jedan string ime[10]
slog pod; // definisem neku promenjivu pod tipa slog
ulaz=fopen("nova.dat","r"); // otvorim datoteku koja postoji na disku zbog citanja
do
{ //ovde sam mislio jednom do - while petljom da sekvencijalno
// citam slog po slog i ispisujem na monitor
/*ovde,pretpostavljam, treba postaviti SEEK ali ne znam kako!!! */
fread(&pod,sizeof(pod),1,ulaz);

printf("%s",pod.ime); // dakle, ovde treba da se ispise procitani podatak iz ulaznog file-a
}
while(sizeof(pod)!=0); // i kada dodje do kraja file-a da izadje iz petlje
fclose(ulaz);

}

Medjutim, sve ovako napisano nece da radi. tj, program procita i ispise na ekran samo prvi procitani slog i zavrsi rad.
Iinace Zokio , pogledao sam tvoj program i mislim da mi za ovo pitanje bas ne moze pomoci , ili ja ne mogu da shvatim .
Ulazna datoteka nije binarna.
Hvala za pokusaj pomoci!

Buffy ,ovaj red
while(sizeof(pod)!=0);
bi sluzio za ispitivanje duzine procitanog podatka (pod), i, kada se dodje do EOF duzina procitanog podatka je 0.Tako sam mislio.
U svakom slucaju hvala.
 
Odgovor na temu

Buffy
Stanko Culaja
Sipovo, BiH

Član broj: 45310
Poruke: 312
*.teol.net.



Profil

icon Re: problem sa citanjem ulaznog file-a20.03.2006. u 11:52 - pre 219 meseci
Ako ulazna datoteka nije binarna, nemoj je citati sa fread, vec sa fscanf().
Zokio, zasto mu struktura nije dobro definisana. Kakva je razlika izmedju njegove i tvoje definicije?
 
Odgovor na temu

vlada89

Član broj: 21638
Poruke: 42
*.indjija.net.



Profil

icon Re: problem sa citanjem ulaznog file-a20.03.2006. u 14:03 - pre 219 meseci
Buffy, radi sa fscanf(), ali cita samo prvi slog.Inace datoteku cini struct koja ima samo jedno polje - ime -.Ja zelim da procitam sva imena iz file-a koji sam formirao nekim drugim programom.Thank you.
 
Odgovor na temu

Buffy
Stanko Culaja
Sipovo, BiH

Član broj: 45310
Poruke: 312
*.teol.net.



Profil

icon Re: problem sa citanjem ulaznog file-a20.03.2006. u 15:02 - pre 219 meseci
postuj nam ulaznu datoteku.
 
Odgovor na temu

vlada89

Član broj: 21638
Poruke: 42
80.93.231.*



Profil

icon Re: problem sa citanjem ulaznog file-a20.03.2006. u 16:34 - pre 219 meseci
Buffy, evo koda za formiranje file-a na disku:


code:


#include<stdio.h>
#include<conio.h>
main()
{
FILE *ulaz;
struct slog{char ime[10];};
slog pod;
printf("unesi ime osobe\n");
gets(pod.ime); //ucitam string u polje structure

ulaz=fopen("nova.dat","a");

fwrite(&pod,sizeof(pod),1,ulaz); //upis u file

fclose(ulaz);
getch();
}


ovaj program radi ,tj,koliko puta se pozove , toliko puta upise ime u datoteku.Iz notepad_a moze da se pogleda sadrzaj .Problem je kod ispisivanja sadrzaja na ekran. Ispise samo prvo ime.
 
Odgovor na temu

vlada89

Član broj: 21638
Poruke: 42
80.93.231.*



Profil

icon Re: problem sa citanjem ulaznog file-a20.03.2006. u 19:12 - pre 219 meseci
Uradjeno na sledeci nacin:
1.) koristiti fgetc(ime_file) funkciju za citanje jednog char-a a zatim :
2.) sa putchar(ch) ispis tog char-a na ekran

#include<stdio.h>
#include<conio.h>
main()
{

FILE *ulaz; char ch;
struct slog{char ime[10];};
slog pod;
ulaz=fopen("nova.dat","r");
fseek(ulaz, 0, SEEK_SET);

do
{
/* cita char iz file-a */
ch = fgetc(ulaz);

/* ispisuje char ne ekran */

putchar(ch);
} while (ch != EOF);

fclose(ulaz);
getch();

}

hvala Buffy na idejama.
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
..81.static.gus.vf.siwnet.net.

Sajt: dejan.lekic.org


+2 Profil

icon Re: problem sa citanjem ulaznog file-a20.03.2006. u 20:23 - pre 219 meseci
Ljudi, zar ne mozete kao sav normalan svet da saljete sors kod unutar CODE tagova???

Zar ovo:
Code:

#include<stdio.h>
#include<conio.h>
int main()
{
  FILE *ulaz; char ch;
  struct slog{char ime[10];};
  slog pod;
  ulaz=fopen("nova.dat","r");
  fseek(ulaz, 0, SEEK_SET);
  do {
    /* cita char iz file-a */
    ch = fgetc(ulaz);
    /* ispisuje char ne ekran */
    putchar(ch);
  } while (ch != EOF);
  fclose(ulaz);
  getch();
}


nije lepse nego:

#include<stdio.h>
#include<conio.h>
main()
{

FILE *ulaz; char ch;
struct slog{char ime[10];};
slog pod;
ulaz=fopen("nova.dat","r");
fseek(ulaz, 0, SEEK_SET);

do
{
/* cita char iz file-a */
ch = fgetc(ulaz);

/* ispisuje char ne ekran */

putchar(ch);
} while (ch != EOF);

fclose(ulaz);
getch();

}


????
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

zokio
Balkan

Član broj: 27826
Poruke: 43
*.cmu.carnet.hr.

Sajt: student.oss.unist.hr/~zs9..


Profil

icon Re: problem sa citanjem ulaznog file-a20.03.2006. u 23:57 - pre 219 meseci
Pa daj Buffy malo bolje pogledaj njegovu i moju definiciju strukture...

Sta tebi compiler zna sta njemu znaci "slog pod;", a "struct slog pod;" bi vec imalo sljedeće
značenje , a to je struktura slog tipa pod, e sad ili su mene krivo naucili i moj compiler VS 2003 jer navedena naredba
--slog pod;-- ne znaci nista, u tome je razlika ili se varam, moze tu da se ubaci***

typedef struct slog nesto;

pa je onda OK ***nesto pod; ***

vlada89
I nisi nam uopce dobro objasnio sta se trazi u zadatku ::

Citat:
@vlada89
Dakle , ovo je kod jednog programa koji cita i ispisuje imena iz nekog file-a ulaz , ali samo za prvi slog


ali dobro, nakraju je bitno je da si dosao do rjesenja.

P.S

I sta ce ti struktura za ispis iz datoteke, stavio si je tamo bespotrebno ! ! !
Poslije spavanja treba odmorit ! ! !
 
Odgovor na temu

vlada89

Član broj: 21638
Poruke: 42
80.93.231.*



Profil

icon Re: problem sa citanjem ulaznog file-a21.03.2006. u 10:39 - pre 219 meseci
Mislio sam da treba ispis is file-a da ide u strukturu ,mada sada shvatam da se moze kreirati neka promenjiva npr. char pomocna[10] i da se u nju ucitavaju podaci . Hvala za sugestije.

ps.
Ubuduce saljem kod preko Code tagova.Hvala.
ps.
moram jos da savladam prednost odnosno mane izmedju tekstualnih i binarnih datoteka .Koristim BCB6 , a od literature
1.) programiranje u C jeziku Z.Tosic
2.) Programiranje u C jeziku Laslo Kraus.
3.) Takodje sam sa net-a skinuo i sve Krausove zbirke zadataka za C jezik.
4.) www.cplusplus.com tutorial

ps.Nisam bas najzadovoljniji Krausovim objasnjenjima kada je u pitanju rad sa datotekama.
 
Odgovor na temu

Buffy
Stanko Culaja
Sipovo, BiH

Član broj: 45310
Poruke: 312
*.teol.net.



Profil

icon Re: problem sa citanjem ulaznog file-a21.03.2006. u 20:51 - pre 219 meseci
ni jedan c++ kompajler ne bi trebao da prijavi gresku ako stavis:
Code:

slog pod;

Pozdrav!
 
Odgovor na temu

vlada89

Član broj: 21638
Poruke: 42
80.93.231.*



Profil

icon Re: problem sa citanjem ulaznog file-a22.03.2006. u 10:15 - pre 219 meseci
Buffy, tacno je ovo sto tvrdis.
Pozdrav.
 
Odgovor na temu

[es] :: C/C++ programiranje :: problem sa citanjem ulaznog file-a

[ Pregleda: 3357 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

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