elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Estructuras con Punteros
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Estructuras con Punteros  (Leído 1,842 veces)
jgonzalezo

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Estructuras con Punteros
« en: 13 Abril 2015, 04:34 am »

Hola quisiera saber si alguien podria guiarme con esta duda tengo una estructura

Código:
typedef struct configParam
{
char *clave;
char *valor;
}configParam;
que la debo utilizar en esta funcion
 
Código:
void saveSettings(char fileName[], int *length, int *statusCode, struct configParam paramsToWrite[]){
char llave[100];
//creacion String llamado valor de tamaño 100
char valor[100];
int contador=0;
FILE *fichero;
fichero=fopen(fileName,"r");
while (( fscanf( fichero, "%s %s", &llave, &valor )) != EOF ) {

length=&contador;


}

del archivo leido tendre dos elementos uno llamado clave y el otro valor, y debo guardarlos en el arreglo struct configParam paramsToWrite[] que es del tipo estructura definido mas arriba, y q tiene tamaño de la cantidad de lineas del archivo que corresponden a la cantidad de estructuras que se deben crear, mi pregunta es como inserto los string clave y valor que voy teniendo de las lineas de los archivos en el arreglo, dado que la estructura que lo define son punteros a char


En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Estructuras con Punteros
« Respuesta #1 en: 13 Abril 2015, 09:02 am »

si "paramsToWrite" es un vector de elementos de tipo "struct configParam", queda claro que para acceder a cada elemento de tipo "configParam" necesitas usar el operador de indice:

"paramsToWrite[contador];"

Luego, para acceder a cada uno de los miembros de "configParam" tienes que usar el operador adeucado y el nombre del miembro con el que quieres interactuar. En el caso del operador se distinguen dos casos:

* Si el acceso es por valor, se usa el operador '.'
* Si el acceso es mediante punteros, se usa el operador '->'

Entonces, dado que "paramsToWrite" te da acceso a un elemento de tipo "configParam" por valor, el acceso quedaría tal que:

Código
  1. // Para escribir
  2. strcpy( paramsToWrite[contador].clave, "aqui la clave" );
  3.  
  4. // Para leer
  5. char* cad;
  6. strcpy( cad, paramsToWrite[contador].clave );

PD.: no te olvides de incrementar "contador" en cada iteración.

Un saludo.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[C] Estructuras y punteros a funciones
Programación C/C++
Amadeo Magnus 1 6,300 Último mensaje 13 Octubre 2010, 15:05 pm
por Karman
estructuras punteros programacion c
Programación C/C++
adexrn 4 3,819 Último mensaje 9 Abril 2012, 10:10 am
por adexrn
Punteros a estructuras...???
Programación C/C++
Ja_90 4 2,657 Último mensaje 11 Noviembre 2014, 21:10 pm
por eferion
Duda con estructuras y punteros
Programación C/C++
Miguel2097 4 2,632 Último mensaje 12 Diciembre 2016, 07:57 am
por Miguel2097
Problema con realloc funciones y punteros a estructuras [RESUELTO]
Programación C/C++
Xargam 8 4,466 Último mensaje 3 Junio 2018, 21:36 pm
por Xargam
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines