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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


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


Desconectado Desconectado

Mensajes: 3.034



Ver Perfil
Dudas con estructuras??
« en: 15 Septiembre 2012, 04:24 am »

Buenas, muchach@s, tengo una duda, que se que no es tan dificil, pero no termino de entender. Retome mis estudios con C, y sigo leyendo por ahi, pero quisiera saber opiniones.

Porque no funciona el siguiente código?

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct persona
  5. {
  6.    //char nombre[30];
  7.    int edad;
  8.    float altura;
  9.    float peso;
  10. };
  11.  
  12. main()
  13. {
  14.    struct persona camilo;
  15.  
  16.    //camilo.nombre = "camilo";
  17.    camilo.edad = 24;
  18.    camilo.altura = 175;
  19.    camilo.peso = 75;
  20.    printf("Sizeof (persona) :  %d \n", sizeof(camilo));
  21.    //printf("nombre : \n", camilo.nombre);
  22.    printf("años : %d \n", camilo.edad);
  23.    printf("altura : %.2f \n", camilo.altura);
  24.    printf("peso) : %.2f \n", camilo.peso);
  25.  
  26. }
  27.  

Funciona perfectamente, menos para imprimir la cadena de texto, me sale el error:
Citar
C:\Users\dato000\Documents\c++\estructura2\main.c|16|error: incompatible types when assigning to type 'char[30]' from type 'char *'|

no termino de entender eso.


En línea


xiruko


Desconectado Desconectado

Mensajes: 438


Ver Perfil
Re: Dudas con estructuras??
« Respuesta #1 en: 15 Septiembre 2012, 04:48 am »

en C las cadenas no las puedes asignar como cualquier numero, tienes que usar la funcion strcpy o strncpy de la libreria string.h (mejor la segunda ya que asi puedes limitar el numero de caracteres a copiar):

http://c.conclase.net/librerias/?ansifun=strncpy

Código
  1. strncpy(camilo.nombre, "camilo", sizeof(camilo.nombre)-1);

y para imprimir una cadena tienes que usar el especificador de formato %s:

Código
  1. printf("Nombre: %s\n", camilo.nombre);

luego stdlib.h no la usas para nada en el codigo asi que no haria falta incluirla. y no estaria mal que el main devolviera algun valor para saber si el programa acabo correctamente.

un saludo!



« Última modificación: 15 Septiembre 2012, 04:54 am por xiruko » En línea

dato000


Desconectado Desconectado

Mensajes: 3.034



Ver Perfil
Re: Dudas con estructuras??
« Respuesta #2 en: 15 Septiembre 2012, 05:19 am »

oh chico no me sabia esa!!! gracias!!!!

funciona perfectamente, gracias!!
En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
estructuras selectivas
.NET (C#, VB.NET, ASP)
leliCabello 3 7,456 Último mensaje 29 Marzo 2010, 20:26 pm
por leliCabello
Estructuras.....
Programación C/C++
Rodri 1 2,713 Último mensaje 6 Octubre 2011, 19:46 pm
por satu
Estructuras en C++
Programación C/C++
jjrl1984 1 1,856 Último mensaje 18 Diciembre 2012, 02:27 am
por naderST
Programacion en C. Estructuras
Programación General
fins94 1 1,689 Último mensaje 4 Junio 2013, 18:23 pm
por satu
Estructuras Anidadas, dudas
Programación C/C++
mari2diaz 1 2,174 Último mensaje 9 Febrero 2020, 00:16 am
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines