Anderson1911
(usa Ubuntu)
Enviado em 08/08/2012 - 17:05h
tentei compilar o segunte código:
#include <stdio.h>
#include <fcntl.h>
#include <sys/fcntl.h>
#include <sys/io.h>
#include <sys/types.h>
#include <sys/stat.h>
void main (int argc, char *argv[]){
int origem,destino;
char buffer[1024];
int bytes_lidos;
if (argc < 3)
printf("É preciso especificar os arquivos de origem e de destino\n");
else if((origem = open(argv[1], O_BINARY | O_RDONLY)) == -1)
printf("Erro ao abrir %s\n", argv[1]);
else if((destino = open(argv[2], O_WRONLY | O_BINARY | O_TRUNC | O_CREAT | S_IWRITE)) == -1)
printf("Erro ao abrir %s\n", argv[2]);
else{
while (!eof(origem))
{
if((bytes_lidos = read(origem, buffer, sizeof(buffer))) <= 0)
printf("Erro ao gravar no arquivo de destino\n");
}
close(origem);
close(destino);
}
}
mas o GCC exibe o seguinte erro:
gcc -o copia copia.c
copia.c: In function ‘main’:
copia.c:15:34: error: ‘O_BINARY’ undeclared (first use in this function)
copia.c:15:34: note: each undeclared identifier is reported only once for each function it appears in
em outro código o GCC acusou a ausência de "O_TEXT", as macros estão declaradas na io.h, mas a mesma está incluida, alguem já teve esse problema? existe mais algum header pra adicionar?