usar write read (buffer)
Publicado por slgr (1 intervención) el 02/08/2006 18:17:23
hola a todos, a ver si me podeis ayudar a una cosilla
// quisiera leer del fichero origen numeros reales y pasarlos al fichero destinno a enteros con llamadas al sistema de unix
me podriais ayudar, he intentado ahcerlo con este codigo?
#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <errno.h>
#define BUF_SIZE 8092 // tamaño del buffer
int main(int argc, char *argv[]){
int desc_fich1; /* Descriptor del fichero a copiar */
int desc_fich2,i; /* Descriptor del fichero destino */
float buf[BUF_SIZE];
ssize_t bytes_leidos;
ssize_t bytes_escritos;
/* comprobacion de errores en la linea de comandos */
if(argc!=3)
{
printf("error");
}
desc_fich1 = open(argv[1],O_RDONLY);
desc_fich2 = open(argv[2],O_WRONLY | O_CREAT | O_TRUNC, 0666);
while ((bytes_leidos = read(desc_fich1, buf, sizeof(float)))> 0 )
{
for (i=0;i<bytes_leidos;i++)
{
como leo del fuffer los reales, los paso a enteros y los escribo en
el fichero destino?
}
write(desc_fich2, buffer,sizeof(int));
}
/* Cierre de los ficheros */
close(desc_fich1);
close(desc_fich2);
}/* main */
// quisiera leer del fichero origen numeros reales y pasarlos al fichero destinno a enteros con llamadas al sistema de unix
me podriais ayudar, he intentado ahcerlo con este codigo?
#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <errno.h>
#define BUF_SIZE 8092 // tamaño del buffer
int main(int argc, char *argv[]){
int desc_fich1; /* Descriptor del fichero a copiar */
int desc_fich2,i; /* Descriptor del fichero destino */
float buf[BUF_SIZE];
ssize_t bytes_leidos;
ssize_t bytes_escritos;
/* comprobacion de errores en la linea de comandos */
if(argc!=3)
{
printf("error");
}
desc_fich1 = open(argv[1],O_RDONLY);
desc_fich2 = open(argv[2],O_WRONLY | O_CREAT | O_TRUNC, 0666);
while ((bytes_leidos = read(desc_fich1, buf, sizeof(float)))> 0 )
{
for (i=0;i<bytes_leidos;i++)
{
como leo del fuffer los reales, los paso a enteros y los escribo en
el fichero destino?
}
write(desc_fich2, buffer,sizeof(int));
}
/* Cierre de los ficheros */
close(desc_fich1);
close(desc_fich2);
}/* main */
Valora esta pregunta


0