[C con Clase] Tamaño de Buffer
anonymous.mx
anonymous.mx en gmail.com
Mie Jun 2 18:20:32 CEST 2010
Hola a todos,
Soy nuevo en programacion en C, estoy leyendo archivos SEGY y extraigo
valores de trazas completas. (un archivo SEGY se compone de 3200 bytes para
EBCDIC, 400 bytes para el encabezado binario e indica el tamaño de la traza,
la traza que se compone de 240 bytes de encabezado y el numero de muestras
definido en el encabezado binario).
Solicito su ayuda para que me orienten a modificar el siguiente codigo, a
fin de poder indicar mediante un parametro el tamaño de buffer que sería el
tamaño de la traza sismica a copiar.
// copia.c: Copia de ficheros
// Uso: copia <fichero_origen> <fichero_destino>
#include <stdio.h>
int main(int argc, char **argv) {
FILE *fe, *fs;
unsigned char buffer[2048]; // <<== El tamaño quiero tomarlo como
parametro para no volver a comiplar el programa.
int bytesLeidos;
int bytesheader;
if(argc != 3) {
printf("Usar: copia <fichero_origen> <fichero_destino>\n");
return 1;
}
// Abrir el fichero de entrada en lectura y binario
fe = fopen(argv[1], "rb");
if(!fe) {
printf("El fichero %s no existe o no puede ser abierto.\n", argv[1]);
return 1;
}
// Crear o sobreescribir el fichero de salida en binario
fs = fopen(argv[2], "wb");
if(!fs) {
printf("El fichero %s no puede ser creado.\n", argv[2]);
fclose(fe);
return 1;
}
// Bucle de copia:
while((bytesLeidos = fread(buffer, 1, sizeof(buffer), fe)))
fwrite(buffer, 1, bytesLeidos, fs);
//Cerrar ficheros:
fclose(fe);
fclose(fs);
return 0;
}
Quisiera utilizar un parametro del llamado del programa como el tamaño de
buffer, y así evitarme volver a compilar el programa cada vez que el tanaño
de la traza sea diferente al extrar un dato de otro archivo.
Saludos desde Villahermosa, Tabasco, Mexico, America, Tierra.
Jose Luis
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20100602/c8f88065/attachment.html>
Más información sobre la lista de distribución Cconclase