🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #983

Re: escribir el tamano de un fichero en otro, pero no en ascii

#983
From: heltena
Date: Mon, 24 Jul 2006 16:49
62 lines
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-mail
References: <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