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

problem sa citanjem ulaznog file-a

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

[ Pregleda: 987 | Odgovora: 13 ]

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

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 .
19.03.2006. u 17:48 

Buffy
Stanko Culaja
za sada sam nezaposlen!
Sipovo,Republika Srpska

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

Sajt: www.sipovo.org


Profil

icon Re: problem sa citanjem ulaznog file-a19.03.2006. u 21:35
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) )???

SAMO DA RATA NE BUDE,
LUDILA MEDJU LJUDIMA,
VELIKI NUDE ZABLUDE,
PLASE NAS RAZNIM CUDIMA
I SVAKOJ BAJCI NAUDE,
DA RATA NE BUDE.

Djordje Balasevic
19.03.2006. u 21:35 

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
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 ! ! !
20.03.2006. u 03:24 

vlada89

Član broj: 21638
Poruke: 42
80.93.231.*



Profil

icon Re: problem sa citanjem ulaznog file-a20.03.2006. u 10:26
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.
20.03.2006. u 10:26 

Buffy
Stanko Culaja
za sada sam nezaposlen!
Sipovo,Republika Srpska

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

Sajt: www.sipovo.org


Profil

icon Re: problem sa citanjem ulaznog file-a20.03.2006. u 11:52
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?
SAMO DA RATA NE BUDE,
LUDILA MEDJU LJUDIMA,
VELIKI NUDE ZABLUDE,
PLASE NAS RAZNIM CUDIMA
I SVAKOJ BAJCI NAUDE,
DA RATA NE BUDE.

Djordje Balasevic
20.03.2006. u 11:52 

vlada89

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



Profil

icon Re: problem sa citanjem ulaznog file-a20.03.2006. u 14:03
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.
20.03.2006. u 14:03 

Buffy
Stanko Culaja
za sada sam nezaposlen!
Sipovo,Republika Srpska

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

Sajt: www.sipovo.org


Profil

icon Re: problem sa citanjem ulaznog file-a20.03.2006. u 15:02
postuj nam ulaznu datoteku.
SAMO DA RATA NE BUDE,
LUDILA MEDJU LJUDIMA,
VELIKI NUDE ZABLUDE,
PLASE NAS RAZNIM CUDIMA
I SVAKOJ BAJCI NAUDE,
DA RATA NE BUDE.

Djordje Balasevic
20.03.2006. u 15:02 

vlada89

Član broj: 21638
Poruke: 42
80.93.231.*



Profil

icon Re: problem sa citanjem ulaznog file-a20.03.2006. u 16:34
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.
20.03.2006. u 16:34 

vlada89

Član broj: 21638
Poruke: 42
80.93.231.*



Profil

icon Re: problem sa citanjem ulaznog file-a20.03.2006. u 19:12
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.
20.03.2006. u 19:12 

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

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

Sajt: dejan.lekic.org


Profil

icon Re: problem sa citanjem ulaznog file-a20.03.2006. u 20:23
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
20.03.2006. u 20:23 

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
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 ! ! !
20.03.2006. u 23:57 

vlada89

Član broj: 21638
Poruke: 42
80.93.231.*



Profil

icon Re: problem sa citanjem ulaznog file-a21.03.2006. u 10:39
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.
21.03.2006. u 10:39 

Buffy
Stanko Culaja
za sada sam nezaposlen!
Sipovo,Republika Srpska

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

Sajt: www.sipovo.org


Profil

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

slog pod;

Pozdrav!
SAMO DA RATA NE BUDE,
LUDILA MEDJU LJUDIMA,
VELIKI NUDE ZABLUDE,
PLASE NAS RAZNIM CUDIMA
I SVAKOJ BAJCI NAUDE,
DA RATA NE BUDE.

Djordje Balasevic
21.03.2006. u 20:51 

vlada89

Član broj: 21638
Poruke: 42
80.93.231.*



Profil

icon Re: problem sa citanjem ulaznog file-a22.03.2006. u 10:15
Buffy, tacno je ovo sto tvrdis.
Pozdrav.
22.03.2006. u 10:15 

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

[ Pregleda: 987 | Odgovora: 13 ]

Postavi temu Odgovori

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