<div dir="ltr">Hola Edwin,<br><div class="gmail_extra"><br><div class="gmail_quote">2013/1/27 Edwin Alexander Bohorquez Gamba <span dir="ltr"><<a href="mailto:edwinprogramacion@hotmail.es" target="_blank">edwinprogramacion@hotmail.es</a>></span><br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">


<div><div dir="ltr"><div><div class="h5">
<div>Hola, tengo una pregunta: Como puedo acceder a los campos de una estructura anidada, para realizar una asignacion?.</div><div>En el siguiente codigo asigne una cadena a cada uno de estos campos, para despues imprimirlos, pero el compilador me dice que tengo errores.</div>
<div><br></div></div></div></div></div></blockquote><div><br></div><div style>Veamos el código fuente.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div><div dir="ltr"><div><div class="h5"><div></div><div>#include<iostream.h></div></div></div></div></div></blockquote><div><br></div><div style>Si el compilador que usas es reciente, deberías usar el nombre estándar de <iostream>.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div dir="ltr"><div><div class="h5"><div>
using namespace std;</div><div><br></div><div>struct stPersona { </div><div>   struct stNombre { </div><div>      char Nombre[32]; </div><div>      char Apellidos[64]; </div><div>   } NombreCompleto; </div><div>   char Telefono[10]; </div>
<div>};</div><div><br></div><div>int main()</div><div>{</div><div>stPersona ::stNombre NombreAuxiliar;//declaro un objeto de tipo stNombre </div><div>NombreAuxiliar.Nombre="Edwin";</div><div>NombreAuxiliar.Apellidos="Bohorquez";</div>
</div></div></div></div></blockquote><div><br></div><div style>Aquí tienes los dos errores. Estás intentando asignar una dirección de memoria a un array, que ya es una dirección constante de memoria Sospecho que esto no es lo que quieres hacer.</div>
<div style><br></div><div style>Lo que seguramente te interese es copiar los caracteres de una cadena a los del array en el campo de la estructura. Para esto, sugiero que uses 'strncpy()'. Por ejemplo,</div><div style>
<br></div><div style><div style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:12.727272033691406px">strncpy( NombreAuxiliar.Nombre, "Edwin", 32 );</div><div style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:12.727272033691406px">
strncpy( NombreAuxiliar.Apellidos, "Bohorquez", 64 );</div></div><div><br></div><div style>Para este caso particular, podrías optar por inicializar la estructura; esto es,</div><div style><br></div><div style><div style="color:rgb(80,0,80);font-family:arial,sans-serif;font-size:12.727272033691406px">
stPersona :: stNombre NombreAuxiliar = { "Edwin", "Bohorquez" };</div></div><div><br></div><div><br></div><div style>Espero haber aclarado la duda.</div><div><br></div><div style> Steven</div><div style>
<br></div></div></div></div>