ahora si que me perdi....:( pero lo analizare<br><br><div class="gmail_quote">El 19 de marzo de 2009 23:56, Steven Davidson <span dir="ltr"><<a href="mailto:srd4121@njit.edu">srd4121@njit.edu</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">Hola Pablo,<br>
<br>
Pablo Brunet wrote:<br>
</div><div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
sigo con problemas :(, ahora no me muestra nada, solo presione una<br>
tecla para continuar..., el archivo posee 2 registros en este orden:<br>
<br>
TUCUMAN    JUAN    31<br>
SALTA       PABLO    29  <br>
# include <stdio.h><br>
# include <stdlib.h><br>
# include <iostream><br>
<br>
using namespace std;<br>
<br>
<br>
typedef struct p {<br>
       char nombre[20];<br>
       int edad;<br>
       char provincia[30];};<br>
        FILE * m;        int i=0;<br>
p v[100];<br>
<br>
int main()<br>
{<br>
 m=fopen("pablo.txt","rb");<br>
</blockquote>
<br></div>
Esto es un problema, porque indicas que el fichero está en modo binario, cuando se trata de un fichero en modo texto. Elimina la letra 'b' de la segunda cadena.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 fseek(m,0,0);<br>
 fread(&v,sizeof(v),1,m);<br>
</blockquote>
<br></div>
Como cada registro tiene diferentes tipos: cadenas y enteros, entonces no deberías leer toda la información de golpe. Tienes que procesar cada línea de texto en el fichero. En la práctica, usa 'fscanf()'. Básicamente, estás leyendo y convirtiendo, si hace falta, las cadenas de caracteres al tipo que quieres. Esto es prácticamente leer la información desde el teclado con 'scanf()', pero en su lugar lo hacemos desde un fichero.<br>

<br>
Nota: La verdad es que la implementación de 'scanf()' invoca 'fscanf()'.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 i=1;<br>
 while (!feof(m)){<br>
       cout<<endl<<"  "<<v[i].provincia<<"  "<<v[i].nombre<<"  "<<v[i].edad<<endl;        fread(&v[i],sizeof(v[1]),1,m);<br>
</blockquote>
<br></div>
Aquí haríamos lo mismo.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
       i++;}<br>
 fclose(m);<br>
<br>
 system("PAUSE");<br>
}<br>
 <br>
</blockquote>
<br>
<br></div>
Espero que esto te ayude<div><div></div><div class="h5"><br>
<br>
Steven<br>
<br>
<br>
<br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net" target="_blank">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</div></div></blockquote></div><br>