| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | IO i visual c Fra : David | 
  Dato :  24-04-01 20:25 |  
  |   
            Hej. Jeg sidder og laver en editor i et programmeringssprog der minder om
 Visual C(LCC hedder det vist). Hvordan bruger man IO. Det er jo ikke ligesom
 i de gode gamle dage med en doskompiler hvor man bare kunne inklude fstream
 og så skrive og læse fra filer.
 
 
  
            
             |   |   
            
        
 
            
         
           Niels Hove (24-04-2001) 
         
	
            | Kommentar Fra : Niels Hove | 
  Dato :  24-04-01 22:37 |  
  |   
            hej
 
 jeg ved ikke så meget om det, men man kan da ihvertfald med
 
 #include <fstream>
 
 få lov til at oprette og skrive + læse fra filer ....
 
 /niels
 David <nma2818@vip.cybercity.dk> wrote in message
 news:9c4j4f$283g$1@news.cybercity.dk...
 > Hej. Jeg sidder og laver en editor i et programmeringssprog der minder om
 > Visual C(LCC hedder det vist). Hvordan bruger man IO. Det er jo ikke
 ligesom
 > i de gode gamle dage med en doskompiler hvor man bare kunne inklude
 fstream
 > og så skrive og læse fra filer.
 >
 >
 
 
  
            
             |   |   
            
        
 
            
         
           David (25-04-2001) 
         
	
            | Kommentar Fra : David | 
  Dato :  25-04-01 15:29 |  
  |   
            Ja men headeren findes ikke i mit bibliotek så jeg ville høre om der ikke
 var andre måder med win api'et-
 
 
  
            
             |   |   
            
        
 
            
         
            Niels Hove (25-04-2001) 
         
	
            | Kommentar Fra : Niels Hove | 
  Dato :  25-04-01 19:04 |  
  |   
            som sagt jeg aner ikke det store om lige netop det ....
 
 
 David <nma2818@vip.cybercity.dk> wrote in message
 news:9c6m6u$1i33$1@news.cybercity.dk...
 > Ja men headeren findes ikke i mit bibliotek så jeg ville høre om der ikke
 > var andre måder med win api'et-
 >
 >
 
 
  
            
             |   |   
            
        
 
            
         
             aslak (25-04-2001) 
         
	
            | Kommentar Fra : aslak | 
  Dato :  25-04-01 21:17 |  
  |   
            Jeg kender ikke lige den compiler du snakker om!! har du et link?
 
 Men i Visual C++ / MFC laver du blot et CFile objekt, og dette kan du så
 oprette filer/læse/skrive/slette etc med!!!
 
 mvh / Rasmus
 
 "Niels Hove" <wuss@hillbilly.dk> wrote in message
 news:9c73g6$6r2$1@news.inet.tele.dk...
 > som sagt jeg aner ikke det store om lige netop det ....
 >
 >
 > David <nma2818@vip.cybercity.dk> wrote in message
 > news:9c6m6u$1i33$1@news.cybercity.dk...
 > > Ja men headeren findes ikke i mit bibliotek så jeg ville høre om der
 ikke
 > > var andre måder med win api'et-
 > >
 > >
 >
 >
 
 
  
            
             |   |   
            
        
 
            
         
           Michael Rasmussen (25-04-2001) 
         
	
            | Kommentar Fra : Michael Rasmussen | 
  Dato :  25-04-01 21:19 |  
  |  
 
            du kan bruge fopen / open og venner fra stdio.h eller de Win32-specifikke
 CreateFile/ReadFile/WriteFile osv., du kan finde informationer om brug af
 dem
 på  http://msdn.mircosoft.com eller hente
 ftp://ftp.cs.virginia.edu/pub/lcc-win32/win32hlp.exe
 venlig hilsen,
 Michael Rasmussen
 "David" <nma2818@vip.cybercity.dk> wrote in message
 news:9c4j4f$283g$1@news.cybercity.dk...
 > Hej. Jeg sidder og laver en editor i et programmeringssprog der minder om
 > Visual C(LCC hedder det vist). Hvordan bruger man IO. Det er jo ikke
 ligesom
 > i de gode gamle dage med en doskompiler hvor man bare kunne inklude
 fstream
 > og så skrive og læse fra filer.
 >
 >
            
              |   |   
            
        
 
            
         
           David (26-04-2001) 
         
	
            | Kommentar Fra : David | 
  Dato :  26-04-01 20:15 |  
  |   
            
Michael Rasmussen <3306248m001@stofanet.dk> skrev i meddelelsen
 <8jGF6.2940$S4.989844@news101.telia.com>...
 >du kan bruge fopen / open og venner fra stdio.h eller de Win32-specifikke
 >CreateFile/ReadFile/WriteFile osv., du kan finde informationer om brug af
 >dem
 >på  http://msdn.mircosoft.com eller hente
 >ftp://ftp.cs.virginia.edu/pub/lcc-win32/win32hlp.exe
 Kan du ikke venligt skrive i kode hvordan man åbner en fil("minfil.txt") og
 får al teksten ned i en char[] variabel. Det er ligemeget om man skal bruge
 stdio eller win apiet.
            
              |   |   
            
        
 
            
         
            Igor V. Rafienko (26-04-2001) 
         
	
            | Kommentar Fra : Igor V. Rafienko | 
  Dato :  26-04-01 20:06 |  
  |   
            * nma2818@vip.cybercity.dk
 
 [snip]
 
 > Kan du ikke venligt skrive i kode hvordan man åbner en
 > fil("minfil.txt") og får al teksten ned i en char[] variabel.
 
 
 Jøss, det må ha blitt utrolig vanskelig å lese relevante kapitler fra
 K&R2.
 
 
 
 
 
 ivr
 -- 
 The only "intuitive" interface is the nipple. After that, it's all learned.
 (Bruce Ediger, bediger@teal.csn.org, in comp.os.linux.misc, on X interfaces.)
  
            
             |   |   
            
        
 
            
         
            Michael Rasmussen (26-04-2001) 
         
	
            | Kommentar Fra : Michael Rasmussen | 
  Dato :  26-04-01 20:20 |  
  |  
 
            #include <stdio.h>
 #include <stdlib.h>
 char *MitArray;
 int LaesFil(const char *Filnavn)
 {
  FILE *fp;
  long fillaengde;
  if((fp = fopen(Filnavn, "r")) == NULL)
  {
   // øv bøv kunne ikke åbne filen
   return 0;
  }
  fseek(fp, 0, SEEK_END);
  fillaengde = ftell(fp);
  fseek(fp, 0, SEEK_SET);
  if((MitArray = malloc(fillaengde)) == NULL)
  {
   // avs, vi kunne ikke allokere tilstrækkelig hukkomelsen (eller filen har
 længde 0)
   return 0;
  }
  fread(MitArray, fillaengde, 1, fp);
  fclose(fp);
  return 1;
 }
 if(!LaesFil("minfil.txt"))
 {
 // fejl
 }
 // ingen fejl
 venlig hilsen
 Michael Rasmussen
 "David" <nma2818@vip.cybercity.dk> wrote in message
 news:9c9raf$4gv$1@news.cybercity.dk...
 >
 > Michael Rasmussen <3306248m001@stofanet.dk> skrev i meddelelsen
 > <8jGF6.2940$S4.989844@news101.telia.com>...
 > >du kan bruge fopen / open og venner fra stdio.h eller de Win32-specifikke
 > >CreateFile/ReadFile/WriteFile osv., du kan finde informationer om brug af
 > >dem
 > >på  http://msdn.mircosoft.com eller hente
 > >ftp://ftp.cs.virginia.edu/pub/lcc-win32/win32hlp.exe
 > Kan du ikke venligt skrive i kode hvordan man åbner en fil("minfil.txt")
 og
 > får al teksten ned i en char[] variabel. Det er ligemeget om man skal
 bruge
 > stdio eller win apiet.
 >
 >
            
              |   |   
            
        
 
            
         
             Igor V. Rafienko (26-04-2001) 
         
	
            | Kommentar Fra : Igor V. Rafienko | 
  Dato :  26-04-01 21:02 |  
  |   
            * Michael Rasmussen
 
 [snip]
 
 >  fseek(fp, 0, SEEK_END);
 >  fillaengde = ftell(fp);
 >  fseek(fp, 0, SEEK_SET);
 
 
 It won't work. Not the way you expect[*]. Det greieste er å lese data i
 faste blokker à det OS foretrekker (fx. det som stat rapporterer på
 solaris i st_blksize).
 
 [*] Ting er virkelig råtne på dette punktet -- det finnes ingen
 portabel måte å finne størrelsen av filen (noen OS feilrapporterer
 det, andre ikke teller visse tegn, de tredje pad'er opptil en eller
 passenede størrelse, osv.). 
 
 [snip]
 
 
 
 
 
 ivr
 -- 
 The only "intuitive" interface is the nipple. After that, it's all learned.
 (Bruce Ediger, bediger@teal.csn.org, in comp.os.linux.misc, on X interfaces.)
  
            
             |   |   
            
        
 
            
         
              Kent Friis (26-04-2001) 
         
	
            | Kommentar Fra : Kent Friis | 
  Dato :  26-04-01 21:58 |  
  |  
 
            Den 26 Apr 2001 22:01:36 +0200 skrev Igor V. Rafienko:
 >* Michael Rasmussen
 >
 >[snip]
 >
 >>  fseek(fp, 0, SEEK_END);
 >>  fillaengde = ftell(fp);
 >>  fseek(fp, 0, SEEK_SET);
 >
 >
 >It won't work. Not the way you expect[*]. Det greieste er å lese data i
 >faste blokker à det OS foretrekker (fx. det som stat rapporterer på
 >solaris i st_blksize).
 >
 >[*] Ting er virkelig råtne på dette punktet -- det finnes ingen
 >portabel måte å finne størrelsen av filen (noen OS feilrapporterer
 >det, andre ikke teller visse tegn, de tredje pad'er opptil en eller
 >passenede størrelse, osv.). 
 Jeg brugte da den metode til at finde størrelsen på en fil for et
 par dage siden, og det virkede fint. Men ok, det var også under
 Linux, hvor alt virker som forventet   
Mvh
 Kent
 -- 
 http://www.celebrityshine.com/~kfr/ - sidste billede: garden.png
            
              |   |   
            
        
 
            
         
               Igor V. Rafienko (27-04-2001) 
         
	
            | Kommentar Fra : Igor V. Rafienko | 
  Dato :  27-04-01 12:30 |  
  |  
 
            * Kent Friis
 [snip]
 > Jeg brugte da den metode til at finde størrelsen på en fil for et
 > par dage siden, og det virkede fint. Men ok, det var også under
 > Linux, hvor alt virker som forventet   
Nope, it does not:
 $ ./a.out 
 $ stat holes.dta
 fdevice 46163939
 inode   63695
 mode    100600
 links   1
 uid     3172    (igorr)
 gid     13172   (igorr)
 maj     0
 min     0
 size    2147483601
 atime   988370806       (2001-04-27 13:26:46)
 mtime   988370806       (2001-04-27 13:26:46)
 ctime   988370806       (2001-04-27 13:26:46)
 blksize 8192
 blocks  32
 $ 
 Hva tror du ftell vil fortelle deg på denne filen? Og jeg er villig
 til å vedde _mye_ på at holes.dta ikke inneholder 2GB med data (btw,
 (* 8192 32) => 262144).
 ivr
 -- 
 The only "intuitive" interface is the nipple. After that, it's all learned.
 (Bruce Ediger, bediger@teal.csn.org, in comp.os.linux.misc, on X interfaces.)
            
              |   |   
            
        
 
            
         
                Kent Friis (27-04-2001) 
         
	
            | Kommentar Fra : Kent Friis | 
  Dato :  27-04-01 14:26 |  
  |  
 
            Den 27 Apr 2001 13:30:02 +0200 skrev Igor V. Rafienko:
 >* Kent Friis
 >
 >[snip]
 >
 >> Jeg brugte da den metode til at finde størrelsen på en fil for et
 >> par dage siden, og det virkede fint. Men ok, det var også under
 >> Linux, hvor alt virker som forventet   
>
 >
 >Nope, it does not:
 >
 >$ ./a.out 
 >$ stat holes.dta
 >fdevice 46163939
 >inode   63695
 >mode    100600
 >links   1
 >uid     3172    (igorr)
 >gid     13172   (igorr)
 >maj     0
 >min     0
 >size    2147483601
 >atime   988370806       (2001-04-27 13:26:46)
 >mtime   988370806       (2001-04-27 13:26:46)
 >ctime   988370806       (2001-04-27 13:26:46)
 >blksize 8192
 >blocks  32
 >$ 
 >
 >
 >Hva tror du ftell vil fortelle deg på denne filen? Og jeg er villig
 >til å vedde _mye_ på at holes.dta ikke inneholder 2GB med data (btw,
 >(* 8192 32) => 262144).
 Jeg ved godt at der findes to slags fil-størrelser. Den mængde data
 der kan læses fra filen, og det filen rent faktisk fylder på disken.
 Det var den første størrelse jeg forventede at få, og det var den
 jeg fik.
 Den anden skal ikke bruges til ret meget, udover "du" og "df", og hvis
 det er den man er ude efter, vil jeg slet ikke overveje andet end stat
 (lstat hvis det skal være helt rigtigt).
 Mvh
 Kent
 PS: jo, jeg kender udemærket "sparse files" - filer med huller. De er
 sjove   
-- 
 http://www.celebrityshine.com/~kfr/ - sidste billede: garden.png
            
              |   |   
            
        
 
            
         
              Richard Flamsholt (26-04-2001) 
         
	
            | Kommentar Fra : Richard Flamsholt | 
  Dato :  26-04-01 23:01 |  
  |  
 
            igorr@ifi.uio.no (Igor V. Rafienko) skrev:
 >[*] Ting er virkelig råtne på dette punktet
 Ja.
 > -- det finnes ingen portabel måte å finne størrelsen av filen
 Filens størrelse på disken kan man ikke finde, nej. Den er afhængig af
 filsystemet, som du også skriver.
 Men man kan portabelt finde størrelse af filens indhold på den dumme
 måde: læs hele filen (i små klumper, fx BUFSIZ bytes af gangen) og tæl
 antal bytes. Det er den eneste portable metode - men brug endelig et
 OS-specifikt alternativ (såsom stat(), fstat()) hvis det findes.
 -- 
 Richard Flamsholt
 richard@flamsholt.dk -  www.richard.flamsholt.dk
            
             |   |   
            
        
 
            
         
               Igor V. Rafienko (27-04-2001) 
         
	
            | Kommentar Fra : Igor V. Rafienko | 
  Dato :  27-04-01 12:32 |  
  |   
            * Richard Flamsholt
 
 > Men man kan portabelt finde størrelse af filens indhold på den dumme
 > måde: læs hele filen (i små klumper, fx BUFSIZ bytes af gangen) og tæl
 > antal bytes. Det er den eneste portable metode - men brug endelig et
 > OS-specifikt alternativ (såsom stat(), fstat()) hvis det findes.
 
 
 stat kan gi "feil" svar. Lese filen i små klumper i henhold til ett
 eller annet predefinert format hørtes ut som en God Ide[tm].
 
 
 
 
 
 ivr
 -- 
 The only "intuitive" interface is the nipple. After that, it's all learned.
 (Bruce Ediger, bediger@teal.csn.org, in comp.os.linux.misc, on X interfaces.)
  
            
             |   |   
            
        
 
            
         
              Michael Rasmussen (26-04-2001) 
         
	
            | Kommentar Fra : Michael Rasmussen | 
  Dato :  26-04-01 23:03 |  
  |   
            
 "Igor V. Rafienko" <igorr@ifi.uio.no> wrote in message
 news:xjvae53v3a7.fsf@hafur.ifi.uio.no...
 >
 > >  fseek(fp, 0, SEEK_END);
 > >  fillaengde = ftell(fp);
 > >  fseek(fp, 0, SEEK_SET);
 >
 >
 > It won't work. Not the way you expect[*]. Det greieste er å lese data i
 > faste blokker à det OS foretrekker (fx. det som stat rapporterer på
 > solaris i st_blksize).
 >
 > [*] Ting er virkelig råtne på dette punktet -- det finnes ingen
 > portabel måte å finne størrelsen av filen (noen OS feilrapporterer
 > det, andre ikke teller visse tegn, de tredje pad'er opptil en eller
 > passenede størrelse, osv.).
 
 avs, det var jeg ikke klar over. Har dog aldrig haft nogen problemer med
 det,
 men jeg er ked af, hvis jeg vildledte David.
 
 venlig hilsen
 Michael Rasmussen
 
 
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |