tengo una duda sobre arreglos !!
tengo la siguiente estructura.
Código
struct Tra{
char b[8];
char c[32];
};
...
int main(){
Tra tr;
memset(&tr, 0x00, sizeof(tr));
strncpy(b, "123456789", 7);
strncpy(c, "abecdefeghijklmnopqrstuvywz");
cout << b <<endl;
}
Código
salida : >> 123456789abecedefghi.....
me gustaria saber por que pasa eso con el valor de b si solo copio una cantidad especifica de caracteres en b?
nota : entiendo que c y c++ no tiene bound check .
el problema no es la compilacion ,esto lo edite rapido
 
 pero al parecer no entendieron asi que me explicare , como cree esta estructura Tra
cree dos variable de tipo array a char , ambas con tamanos diferente , luego instancie un objeto de Tra en main , lo limpie ,luego le puse valores no importa que valor estos solo son ejemplo , luego lo imprimi solo el valor de la primera variable y la salida fue la mezcla de todos los valores de la variable c dentro de b , se que las estructura de array plano son como un super array pero por que salen todos los valore de c en b si solo copie cierta cantidad de char con strncpy?


 
  




 Autor
 Autor
		



 En línea
									En línea
								



 
 


 
						
 
						