Article View: es.comp.os.linux.programacion
Article #983Re: escribir el tamano de un fichero en otro, pero no en ascii
From: heltena
Date: Mon, 24 Jul 2006 16:49
Date: Mon, 24 Jul 2006 16:49
62 lines
3233 bytes
3233 bytes
Para olvidar se me ha olvidado decir que hasta ahora estoy usando bash
y dd.
Quizás mejor explicar el problema general para dar una idea. Tengo
ficheros con los que quiero hacer una "ISO", pero como me es costoso
programar una FAT o algo parecido, pues me monto mi propio sistema de
ficheros "cutre" que ya me va bien. Mi sistema de ficheros sera:
offset 0x00000000: primer fichero.
offset 0x01000000: segundo fichero.
offset ox02000000: tercer fichero.
y así hasta que se acabe el disco.
Cada fichero:
offset 0: tamano del fichero en 4 bytes (big endian)
offset 512: raw del fichero hasta que el tamano diga. (512 porque es el
tamano del sector)
Es para un cacharro de electrónica. Los ficheros serán unos que se
determinen y punto. Y si se pierde mucha memoria ... da igual, se copia
en una SDCard que vale menos 20eur.
Lo que tengo hasta ahora es el siguiente script:
#!/usr/bin/env bash
GAP=$((0x01000000 / 512))
INDEX=0
dd if=/dev/zero of=imagen.iso bs=512 count=1024K
for file in *.ub ; do
echo Aquí tendría que escribir en $((GAP)) el tamano del
fichero
dd if=$file of=imagen.iso bs=512 seek=$((GAP * INDEX + 1))
INDEX=$((INDEX+1))
done
Despues:
dd if=imagen.iso of=/dev/sdb bs=512
heltena ha escrito:
> Hola,
>
> Quiero escribir el tamano de un fichero dentro de otro fichero, pero en
> binario, osea, los cuatro bytes. Es para preparar un fichero que
> después leo desde C. Me interesa leer los cuatro bytes y cargarlos
> directos en un int con un codigo parecido a este:
>
> fread(&value, 4, 1, f); /* solo es un ejemplo */
>
> ¿cómo puedo hacerlo?
>
> Gracias hasta ahora!
>
> PD: necesito que sea así porque el código se ejecutará en un PIC
> (leyendo una tarjeta SD) y no es que tenga muchas facilidades en ese
> procesador.
>
>
> --
> Saludos
Technical Details
Message-ID:
<1153759759.899777.188880@p79g2000cwp.googlegroups.com>Path:
arc1-ca.pugleaf.net!g2news2.google.com!postnews.google.com!p79g2000cwp.googlegroups.com!not-for-mailReferences:
<1153759345.956147.65760@s13g2000cwa.googlegroups.com>Show Full Headers
Complete Article Headers
X-Google-Thread: f86c8,15d891730dc7298 X-Google-Attributes: gidf86c8,public X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news2.google.com!postnews.google.com!p79g2000cwp.googlegroups.com!not-for-mail From: "heltena" <heltena@gmail.com> Newsgroups: es.comp.os.linux.programacion Subject: Re: escribir el tamano de un fichero en otro, pero no en ascii Date: 24 Jul 2006 09:49:22 -0700 Organization: http://groups.google.com Lines: 63 Message-ID: <1153759759.899777.188880@p79g2000cwp.googlegroups.com> References: <1153759345.956147.65760@s13g2000cwa.googlegroups.com> NNTP-Posting-Host: 193.147.222.244 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1153759767 30039 127.0.0.1 (24 Jul 2006 16:49:27 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Mon, 24 Jul 2006 16:49:27 +0000 (UTC) In-Reply-To: <1153759345.956147.65760@s13g2000cwa.googlegroups.com> User-Agent: G2/0.2 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.4) Gecko/20060406 Firefox/1.5.0.4 (Debian-1.5.dfsg+1.5.0.4-1),gzip(gfe),gzip(gfe) Complaints-To: groups-abuse@google.com Injection-Info: p79g2000cwp.googlegroups.com; posting-host=193.147.222.244; posting-account=ljKoDA0AAABEvzHlRrQ7YAIM9PPVxdEL