Ficheros en C, urgente por favor.

16/01/2004 - 07:05 por Miguel G. | Informe spam
Hola amigos. Tengo un problema

estoy escribiendo un archivo desde un programa que estoy haciendo en C, el
problema es que al crear un archivo, luego lo necesito leer y actualizar,
pero para ello me debo posicionar especificamente antes de un "tag" que
tengo en mi archivo de texto ya creado en un principio...

por ejemplo, al principio creo este archivo de texto...

<tablero>
<jugada jugador="juan">
<ficha>E</ficha>
<ficha>L</ficha>
</jugada>
</tablero>

y lo que deseo es posicionarme antes del ultimo tag </tablero> para poder
escribir otra jugada...
alguien me puede decir alguna forma sencilla de hacer esto??

gracias.

Obs. Cada vez que vuelvo a abrir el archivo lo hago con "+a"
 

Leer las respuestas

#1 Jaime Stuardo
16/01/2004 - 22:31 | Informe spam
No cuentas detalles de tu entorno de programación. Pero si tus intenciones
es hacer uso intensivo de XML, lo mejor es utilizar parsers ya creados para
estos fines. Por ejemplo, si estas en Windows, tienes a tu disposición el
MSXML si estás en ambiente Unix o Linux, tienes una biblioteca bastante
buena que yo alguna vez ocupé, y es llamada Expat.

Ese Expat viene con el código fuente en C ya que tiene licencia GNU...
puedes buscarlo en Google. Es super fácil de usar, así es que cuando lo
tengas y lo investigues, pregunta aquí las dudas que tengas.

De todos modos, si no deseas usar alguna biblioteca de ese tipo para tu
programa, puedes tú hacer un miniparser mediante el uso de la función
strtok. Por ejemplo, para buscar el tag </tablero>, basta con hacer:

szTexto = strtok(szXML, "</tablero>");

szTexto apunta a <... Si estás usando C++, puedes hacer uso del STL, clase
string.

Salu2
Jaime

"Miguel G." wrote in message
news:uyWk2u#
Hola amigos. Tengo un problema

estoy escribiendo un archivo desde un programa que estoy haciendo en C, el
problema es que al crear un archivo, luego lo necesito leer y actualizar,
pero para ello me debo posicionar especificamente antes de un "tag" que
tengo en mi archivo de texto ya creado en un principio...

por ejemplo, al principio creo este archivo de texto...

<tablero>
<jugada jugador="juan">
<ficha>E</ficha>
<ficha>L</ficha>
</jugada>
</tablero>

y lo que deseo es posicionarme antes del ultimo tag </tablero> para poder
escribir otra jugada...
alguien me puede decir alguna forma sencilla de hacer esto??

gracias.

Obs. Cada vez que vuelvo a abrir el archivo lo hago con "+a"



Preguntas similares