15/06/2008, 09:58
|
| | Fecha de Ingreso: marzo-2008
Mensajes: 306
Antigüedad: 16 años, 8 meses Puntos: 6 | |
Respuesta: Cadena de caracteres y strcpy La solución de CalgaryCorpus es la correcta habitualmente.
Pero si en la variable emb falta el fin de cadena '\0' no puede usar la función strcpy() y debe usarse la función memcpy() o memmove():
memcpy( otro, emb+4, 4 );
memmove( otro, emb+4, 4 );
NOTAS:
- El tercer parámetro, 4 en los ejemplos, es el número de caracteres a copiar.
- memmove se usaría si "otro" y "emb" se solapan entre sí. Por ejemplo porque apuntan a la misma zona de memoria, o forman parete de una union, ...
- Si se necesitase un '\0' en el destino habría que ponerlo manualmente (siempre que quepa):
*(otro+4) = '\0'; |