Con un programita en C estoy creando un archivo con la siguiente estructura:
struct t_config {
char ip[13];
int puerto;
};struct t_config t_config;
Error. Esa es una estructura de datos que usa un programa... los ficheros no entienden de eso.
Entre otras cosas porque esa información se puede almacenar en mil formatos diferentes, binario, XML, Json, XDR, ASN.1, texto plano, ...
Esa definición tampoco indica si los dos datos están en la misma línea o en líneas diferentes... vamos, que la definición de una estructura sirve más bien para poco a la hora de conocer la estructura de los datos en un fichero.
Es un archivo que tiene una IP (la puse como string) y un puerto de 4 numeros (un int)
Error. el puerto puede ser de 4 dígitos... pero nunca de 4 números... ( la IP sí tiene 4 números ).
Quisquilloso... depende... con 4 números se puede interpretar que estás guardando el número de puerto separando cada dígito en un número independiente... hay que ser más conciso.
Ahora tengo otro programa que abre este archivo. Lo que me gustaría es que tome la ip y la guarde en una variable y por otro lado que guarde en otra variable el puerto. Intente con fscanf, fseek, fread y no me sale. Cuando lee el puerto, por ejemplo le pongo 5000 (con ceros) me pone otros números..
Sin saber cómo está guardada la información en el fichero y cómo estás intentando recuperarla es imposible saber qué está mal.
Así a bote pronto puede ser que el dato esté almacenado en formato texto y tú estés leyéndolo como un int o al revés... pero son tiros al aire.