Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/11/2010, 10:28
Trovaz
 
Fecha de Ingreso: octubre-2010
Ubicación: Edo. de México
Mensajes: 94
Antigüedad: 14 años, 4 meses
Puntos: 9
Respuesta: Inicializar un string en c++. Buenas Prácticas

Cita:
Iniciado por gvite666 Ver Mensaje
claro, siempre es bueno inicializar todo tipo de variables, esto se hace para no tener resultados no deseables.
Ejemplo, si pones algo asi:
Código C:
Ver original
  1. char string[20];
  2.     if(strlen(string)!=0)
  3.         string="perro";
  4.     printf("%s",string);
  5. //en este caso como no le hemos agregado nada al string pues no sabes que error pueda llegar a producir, en el mejor de los caso solo te mostrara "Basura", pero no puedes permitir que esto quiebre tu programa.
  6. Asi que simplemente puedes inicializarla asi
  7.       char string[20]="";
  8. //en donde simplemente le pones una cadena vacia.
Saludos.
No soy un experto en c++, pero si es que se trata a los *char de la misma forma en que se tratan en c, no es correcta tu asignacion.
Código:
string = "perro";
En realidad tendrias que hacer un strcpy.

Código:
strcpy(string, "perro");
Pero para inicializar todo un arreglo de chars es mejor el uso de funciones como bzero.

Código:
bzero((char *)&string, sizeof(string));
Esto colocara un 0 en todos los elementos del arreglo (0 en codigo ASCII es el caracter nulo, osea el famosisimo fin de cadena).

Saludos++;