Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Datoteke (zadatak)
WWW:
Idite na Prethodno  1, 2
Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
pajopatak
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 25. 10. 2009. (22:20:04)
Postovi: (BE)16
Sarma = la pohva - posuda
= 3 - 0

PostPostano: 17:52 uto, 1. 6. 2010    Naslov: Citirajte i odgovorite

Dali ima di rješen 3.zadatak iz prošlogodišnjeg vanrednog kolokvija?
Dali ima di rješen 3.zadatak iz prošlogodišnjeg vanrednog kolokvija?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
spot137
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 02. 11. 2009. (13:33:18)
Postovi: (55)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
-1 = 4 - 5

PostPostano: 18:18 uto, 15. 6. 2010    Naslov: Citirajte i odgovorite

http://degiorgi.math.hr/prog2/kolokviji.php
Može pomoć sa trećim i četvrtim zadatkom pod a) sa popravnog kolokvija 2006/2007 A grupa?
http://degiorgi.math.hr/prog2/kolokviji.php
Može pomoć sa trećim i četvrtim zadatkom pod a) sa popravnog kolokvija 2006/2007 A grupa?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
kkarlo
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 19. 05. 2010. (08:43:59)
Postovi: (1B2)16
Spol: zombi
Sarma = la pohva - posuda
64 = 72 - 8

PostPostano: 9:18 uto, 31. 5. 2011    Naslov: Citirajte i odgovorite

Znači...vezano za datoteke...neznam da li sam dobro shvatio:

1. Nebitno da li ce upis u datoteku binarni/neformatirani ili "normalni"/formatirani, datoteku isto otvaramo, fopen("ime_datoteke","namjera_rada"), samo je kod upisa i ispisa razlika, ali sama datoteka se isto otvara...?
2. Sad kad sam nesto isprobavao, upisat binarno u datoteku, brojeve mi lijepo pretvori u hijeroglife , ali string ostavi kako je i bio, tj. lijepo ga se moze pročitat kad se otvori datoteka.

Moja pitanja su:
1. Da li je ovo prvo istina?
2. Da li je normalno da string ostane kako je i bio, ili nesto krivo radim?

Hvala!
Znači...vezano za datoteke...neznam da li sam dobro shvatio:

1. Nebitno da li ce upis u datoteku binarni/neformatirani ili "normalni"/formatirani, datoteku isto otvaramo, fopen("ime_datoteke","namjera_rada"), samo je kod upisa i ispisa razlika, ali sama datoteka se isto otvara...?
2. Sad kad sam nesto isprobavao, upisat binarno u datoteku, brojeve mi lijepo pretvori u hijeroglife , ali string ostavi kako je i bio, tj. lijepo ga se moze pročitat kad se otvori datoteka.

Moja pitanja su:
1. Da li je ovo prvo istina?
2. Da li je normalno da string ostane kako je i bio, ili nesto krivo radim?

Hvala!


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (355F)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 9:34 uto, 31. 5. 2011    Naslov: Citirajte i odgovorite

Binarne datoteke se otvaraju tako da se u "namjeru rada" doda "[tt]b[/tt]" ([i]binary[/i]), a za textualne bi trebalo pisati "[tt]t[/tt]" ([i]text[/i]). Za pristojne OSove "[tt]b[/tt]" nije nuzno, ali Win nisu pristojan OS i ne znam sto se dogadja ako se ne navede niti jedno od toga dvoje.

Razlicito je i koje se funkcije koriste za citanje/pisanje: kod bin. datoteka to se radi s [tt]fread()[/tt] i [tt]fwrite()[/tt].
Binarne datoteke se otvaraju tako da se u "namjeru rada" doda "b" (binary), a za textualne bi trebalo pisati "t" (text). Za pristojne OSove "b" nije nuzno, ali Win nisu pristojan OS i ne znam sto se dogadja ako se ne navede niti jedno od toga dvoje.

Razlicito je i koje se funkcije koriste za citanje/pisanje: kod bin. datoteka to se radi s fread() i fwrite().



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
kkarlo
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 19. 05. 2010. (08:43:59)
Postovi: (1B2)16
Spol: zombi
Sarma = la pohva - posuda
64 = 72 - 8

PostPostano: 9:45 uto, 31. 5. 2011    Naslov: Citirajte i odgovorite

Evo malo konkretnije pitanje. Znači totalno jednostavna stvar, ucita se string, i da ga se upise u binarnu datoteku. Ali kad odem otvorit tu datoteku sa notepadom, i dalje vidim sve normalno procitat... Gdje je greska, jer naslucujem da kad vidim procitat onda to bas i nije binarni zapis, nego standardni, formatirani???

[code:1]
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int d;
char s[50];
FILE *s1;
scanf("%[^\n]",s);
s1=fopen("binarna","wb");
d=strlen(s);
fwrite(s,sizeof(char),d,s1);
fclose(s1);
return 0;
}

[/code:1]

EDIT:
Probao sam i samo sa jednim charom, ali i njega mi uredno upise tako da ga mogu procitat...?
Evo malo konkretnije pitanje. Znači totalno jednostavna stvar, ucita se string, i da ga se upise u binarnu datoteku. Ali kad odem otvorit tu datoteku sa notepadom, i dalje vidim sve normalno procitat... Gdje je greska, jer naslucujem da kad vidim procitat onda to bas i nije binarni zapis, nego standardni, formatirani???

Kod:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
    int d;
    char s[50];
    FILE *s1;
    scanf("%[^\n]",s);
    s1=fopen("binarna","wb");
    d=strlen(s);
    fwrite(s,sizeof(char),d,s1);
    fclose(s1);
    return 0;
}



EDIT:
Probao sam i samo sa jednim charom, ali i njega mi uredno upise tako da ga mogu procitat...?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (355F)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 10:10 uto, 31. 5. 2011    Naslov: Citirajte i odgovorite

Ne, to je ok da mozes citati s Notepadom (osim same cinjenice da koristis Win :P).

Binarno pisanje znaci "zapisi kakvo je u memoriji". U memoriji, string je niz znakova i tako se zapisuje.

Jednako tako, broj je broj, no tebi "u Notepadu" za ugodno citanje broja treba niz znakova. Dakle:
- u memoriji: broj 1719,
- da bi ugodno citao u Notepadu: niz znakova "1719".
Zato ti brojevi izgledaju kao hijeroglifi, jer ih snimis kao brojeve, a Notepad ih pokusava citati kao nizove znakova.

Inace, ovo gore snimanje stringa funkcionira za jedan string, no ne i za vise. Nigdje nemas oznaku kraja stringa (nul-znak) jer snimas [tt]d[/tt] znakova (umjesto [tt]d[/tt]+1).

Obicno se u binarne datoteke zapisuju podaci fiksne duljine. U tvom primjeru, umjesto [tt]d[/tt] bi islo [tt]50[/tt]. Prava korist toga se vidi kad trebas snimiti [tt]struct[/tt], a ne pojedini string.
Ne, to je ok da mozes citati s Notepadom (osim same cinjenice da koristis Win Razz).

Binarno pisanje znaci "zapisi kakvo je u memoriji". U memoriji, string je niz znakova i tako se zapisuje.

Jednako tako, broj je broj, no tebi "u Notepadu" za ugodno citanje broja treba niz znakova. Dakle:
- u memoriji: broj 1719,
- da bi ugodno citao u Notepadu: niz znakova "1719".
Zato ti brojevi izgledaju kao hijeroglifi, jer ih snimis kao brojeve, a Notepad ih pokusava citati kao nizove znakova.

Inace, ovo gore snimanje stringa funkcionira za jedan string, no ne i za vise. Nigdje nemas oznaku kraja stringa (nul-znak) jer snimas d znakova (umjesto d+1).

Obicno se u binarne datoteke zapisuju podaci fiksne duljine. U tvom primjeru, umjesto d bi islo 50. Prava korist toga se vidi kad trebas snimiti struct, a ne pojedini string.



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
meda
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 01. 2010. (09:29:23)
Postovi: (A0)16
Sarma = la pohva - posuda
-1 = 1 - 2

PostPostano: 10:38 sri, 1. 6. 2011    Naslov: Citirajte i odgovorite

[code:1]
FILE *in, *out;
char c, *s;
int i=0, j, k, n=0;
in=fopen("cjsqkyd.in.txt", "rt");
if(in==NULL) exit(0);
out=fopen("cjsqkyd.out.txt", "wt");
if(out==NULL) exit (0);
while(fscanf(in,"%c", &c)>0) n++;
printf("%d", n);
s=(char*)sizeof((n+1)*sizeof(char));
rewind(in);
while(fscanf(in,"%c", &c)>0) {
s[i]=c;
i++;
}
[/code:1]
pokusavam staviti sadrzaj datoteke u string i nikako mi ne uspijeva, a ne znam sto je krivo pa ako moze pomoc..hvala
Kod:

FILE *in, *out;
    char c, *s;
    int i=0, j, k, n=0;
    in=fopen("cjsqkyd.in.txt", "rt");
    if(in==NULL) exit(0);
    out=fopen("cjsqkyd.out.txt", "wt");
    if(out==NULL) exit (0);
    while(fscanf(in,"%c", &c)>0) n++;
    printf("%d", n);
    s=(char*)sizeof((n+1)*sizeof(char));
    rewind(in);
    while(fscanf(in,"%c", &c)>0) {
                          s[i]=c;
                          i++;
    }

pokusavam staviti sadrzaj datoteke u string i nikako mi ne uspijeva, a ne znam sto je krivo pa ako moze pomoc..hvala


[Vrh]
Korisnički profil Pošaljite privatnu poruku
fejky
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 23. 06. 2010. (16:53:45)
Postovi: (3D)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
12 = 15 - 3

PostPostano: 11:53 sri, 1. 6. 2011    Naslov: Citirajte i odgovorite

Dobivas segmentation fault, znaci da nemoze pristupiti memoriji. Problem je u:

[code:1]
s=(char*)sizeof((n+1)*sizeof(char));
[/code:1]

HINT: malloc
Dobivas segmentation fault, znaci da nemoze pristupiti memoriji. Problem je u:

Kod:

    s=(char*)sizeof((n+1)*sizeof(char));


HINT: malloc


[Vrh]
Korisnički profil Pošaljite privatnu poruku
meda
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 01. 2010. (09:29:23)
Postovi: (A0)16
Sarma = la pohva - posuda
-1 = 1 - 2

PostPostano: 11:57 sri, 1. 6. 2011    Naslov: Citirajte i odgovorite

[quote="fejky"]Dobivas segmentation fault, znaci da nemoze pristupiti memoriji. Problem je u:

[code:1]
s=(char*)sizeof((n+1)*sizeof(char));
[/code:1]

HINT: malloc[/quote]

ajme, sad me sram :oops: :oops:
fejky (napisa):
Dobivas segmentation fault, znaci da nemoze pristupiti memoriji. Problem je u:

Kod:

    s=(char*)sizeof((n+1)*sizeof(char));


HINT: malloc


ajme, sad me sram Embarassed Embarassed


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2 Vremenska zona: GMT + 01:00.
Idite na Prethodno  1, 2
Stranica 2 / 2.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan