| Prethodna tema :: Sljedeća tema   | 
	
	
	
		| Autor/ica | 
		Poruka | 
	
	
		pajopatak Forumaš(ica)
  
 
  Pridružen/a: 25. 10. 2009. (22:20:04) Postovi: (BE)16 
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		spot137 Forumaš(ica)
  
 
  Pridružen/a: 02. 11. 2009. (13:33:18) Postovi: (55)16 
Spol:   
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		kkarlo Forumaš(ica)
  
 
  Pridružen/a: 19. 05. 2010. (08:43:59) Postovi: (1B2)16 
Spol:   
 
		 | 
		
			
				 Postano: 9:18 uto, 31. 5. 2011    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         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] | 
		 | 
	
	
		vsego Site Admin
  
  
  Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16 
Spol:   
Lokacija: /sbin/init 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		kkarlo Forumaš(ica)
  
 
  Pridružen/a: 19. 05. 2010. (08:43:59) Postovi: (1B2)16 
Spol:   
 
		 | 
		
			
				 Postano: 9:45 uto, 31. 5. 2011    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         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] | 
		 | 
	
	
		vsego Site Admin
  
  
  Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16 
Spol:   
Lokacija: /sbin/init 
		 | 
		
			
				 Postano: 10:10 uto, 31. 5. 2011    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         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  ).
 
 
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.   
					
					
					
				 | 
			 
		  | 
	
	
		| [Vrh] | 
		 | 
	
	
		meda Forumaš(ica)
  
 
  Pridružen/a: 09. 01. 2010. (09:29:23) Postovi: (A0)16 
 
		 | 
		
			
				 Postano: 10:38 sri, 1. 6. 2011    Naslov:  | 
				            | 
			 
			
				
  | 
			 
			
				| 
                                         [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] | 
		 | 
	
	
		fejky Forumaš(ica)
  
 
  Pridružen/a: 23. 06. 2010. (16:53:45) Postovi: (3D)16 
Spol:   
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		meda Forumaš(ica)
  
 
  Pridružen/a: 09. 01. 2010. (09:29:23) Postovi: (A0)16 
 
		 | 
		 | 
	
	
		| [Vrh] | 
		 | 
	
	
		 |