<div>Hola a todos,</div>
<div> </div>
<div>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).</div>
<div> </div>
<div>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.</div>
<div> </div>
<div><font size="1" face="courier new,monospace">// copia.c: Copia de ficheros<br>// Uso: copia <fichero_origen> <fichero_destino></font></div>
<div><font size="1" face="courier new,monospace">#include <stdio.h></font></div>
<div><font size="1" face="courier new,monospace">int main(int argc, char **argv) {<br> FILE *fe, *fs;<br> unsigned char buffer[<font style="BACKGROUND-COLOR: #ffff00">2048</font>]; <font style="BACKGROUND-COLOR: #ffff00">// <<== El tamaño quiero tomarlo como parametro para no volver a comiplar el programa.</font><br>
int bytesLeidos;<br> int bytesheader;</font></div>
<div><font size="1" face="courier new,monospace"> if(argc != 3) {<br> printf("Usar: copia <fichero_origen> <fichero_destino>\n");<br> return 1;<br> }</font></div>
<div><font size="1" face="courier new,monospace"> // Abrir el fichero de entrada en lectura y binario<br> fe = fopen(argv[1], "rb"); <br> if(!fe) {<br> printf("El fichero %s no existe o no puede ser abierto.\n", argv[1]);<br>
return 1;<br> }<br> // Crear o sobreescribir el fichero de salida en binario<br> fs = fopen(argv[2], "wb"); <br> if(!fs) {<br> printf("El fichero %s no puede ser creado.\n", argv[2]);<br>
fclose(fe);<br> return 1;<br> }<br> // Bucle de copia:<br> while((bytesLeidos = fread(buffer, 1, sizeof(buffer), fe)))<br> fwrite(buffer, 1, bytesLeidos, fs);<br> //Cerrar ficheros:<br> fclose(fe);<br>
fclose(fs);<br> return 0;<br>}</font></div>
<div><font size="1" face="Courier New"></font> </div>
<div>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.</div>
<div> </div>
<div>Saludos desde Villahermosa, Tabasco, Mexico, America, Tierra.</div>
<div> </div>
<div>Jose Luis</div>