Mam problem (uczę się dopiero 1 dzień) ;) z napisaniem programu, który by wypisywał zawartość otwartego pliku na ekran w** C (ale UNIX, nie mogę więc użyć fopen, tylko open itp).**
Mój kod :
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
char *filename = "/etc/group";
int file_descriptor, bytes_read, buffsize = 512;
char *buffer;
if ((file_descriptor = open(filename, O_RDONLY)) == -1)
{
fprintf(stderr, "Cannot open %s.\n", filename);
exit(1);
}
for(;;)
{
bytes_read = read (file_descriptor, buffer, buffsize);
if (bytes_read>0)
printf("%d bytes read from /etc/group.\n", bytes_read);
else{
if (bytes_read==0){
printf("End of file /etc/group reached\n");
close(file_descriptor);
break;
}
else if (bytes_read == -1){
perror("Reading /etc/group");
exit(1);
}
}
}
return 0;
}
daje mi błąd:
Reading /etc/group Bad addres - chociaż taki plik mam :( Jak odczytać jego zawartość? Czy jest gdzieś jakaś strona z przykładami C dla Unixa?