Foros del Web » Programación para mayores de 30 ;) » C/C++ »

ayuda STRINGS/CHAR

Estas en el tema de ayuda STRINGS/CHAR en el foro de C/C++ en Foros del Web. si tengo lo siguiente char nombrealumno[10]; y necesito despues asignarle a un string solamente 8caracteres de ese nombre existe una funcion que haga eso? lo ...
  #1 (permalink)  
Antiguo 01/04/2007, 13:16
 
Fecha de Ingreso: marzo-2007
Mensajes: 302
Antigüedad: 17 años, 1 mes
Puntos: 2
Pregunta ayuda STRINGS/CHAR

si tengo lo siguiente

char nombrealumno[10];

y necesito despues asignarle a un string solamente 8caracteres de ese nombre existe una funcion que haga eso?

lo mismo si mi string es de 10 y le quiero asiganar algo de 8 (hay una funcion que lo haga sin q me muestre basura en las dos posicionces restantes?

gracias
  #2 (permalink)  
Antiguo 01/04/2007, 14:57
 
Fecha de Ingreso: febrero-2007
Mensajes: 25
Antigüedad: 17 años, 2 meses
Puntos: 1
Re: ayuda STRINGS/CHAR

Cita:
Iniciado por usuaria Ver Mensaje
si tengo lo siguiente

char nombrealumno[10];

y necesito despues asignarle a un string solamente 8caracteres de ese nombre existe una funcion que haga eso?
Para esto puedes usar la funcion strncpy (char* destino, const char* fuente, int caracteres). Lo que hara es copiar en "destino" el numero de caracteres que le indiques, de la cadena "fuente".

Código:
char nombrealumno[] = "leodegario";
char otro[8];

strncpy (otro, nombrealumno, 8);
Cita:
Iniciado por usuaria
lo mismo si mi string es de 10 y le quiero asiganar algo de 8 (hay una funcion que lo haga sin q me muestre basura en las dos posicionces restantes?
gracias
igual, usa la funcion strcpy (char* destino, const char* fuente). en ese caso puedes hacer algo asi:

Código:
char nombrealumno[10];
strcpy (nombrealumno, "gamaliel");
asi solo pondras 8 caracteres en "nombrealumno".

Saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:58.