Czytanie z pliku

0

Mam problem z odczytywaniem danych z pliku.

Otwieram plik tak:

plik1=open(nazwa_pliku, O_RDONLY)

Mam jakis bufor:

char bufor[5];

I czytam:

while ((n=read(plik1, bufor, 1))>0)
{
...
}

Wie ktos co zrobic, zeby petla czytala caly plik, a nie tylko do momentu, kiedy natrafi na bajt o kodzie 26 (d)?

Musze korzystac z funkcji open i read.

0

Przykład z helpa:

#include <stdio.h>
#include <io.h>
#include <alloc.h>
#include <fcntl.h>
#include <process.h>
#include <sys\stat.h>

int main(void)
{
   void *buf;
   int handle, bytes;

   buf = malloc(10);

/* 
Looks for a file in the current directory named TEST.$$$ and attempts to read 10 bytes from it. To use this example you should create the file TEST.$$$. 
 */
   if ((handle =
      open("TEST.$$$", O_RDONLY | O_BINARY, S_IWRITE | S_IREAD)) == -1)
   {
      printf("Error Opening File\n");

      exit(1);
   }

   if ((bytes = read(handle, buf, 10)) == -1) {
      printf("Read Failed.\n");
      exit(1);
   }
   else {
      printf("Read: %d bytes read.\n", bytes);
   }
   return 0;
}
0

Dzieki wielkie. A czy ktos wie, jaki powinien byc drugi argument funkcji creat, zeby utworzony plik byl traktowany jako binarny?

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0