elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C] Manejo de cadenas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C] Manejo de cadenas  (Leído 2,076 veces)
n-utz

Desconectado Desconectado

Mensajes: 165

Babylon es el vampiro!


Ver Perfil
[C] Manejo de cadenas
« en: 18 Octubre 2016, 23:21 pm »

Tengo una simple duda, suponganse que tengo la variable:

char palabra[20];

Como hago para asignarle una cadena manualmente, y con espacios?

Leí que esta era una opción:

palabra[20]={'H',' ','o'}

Pero me tira error, es algo sencillo, para realizar bajas logicas y cargar una cadena a mano. Ayuda?


« Última modificación: 19 Octubre 2016, 00:44 am por n-utz » En línea

geeke

Desconectado Desconectado

Mensajes: 93


Ver Perfil
Re: [C] Manejo de cadenas
« Respuesta #1 en: 19 Octubre 2016, 02:18 am »

Un array solo lo puedes inicializar cuando lo declaras, en caso de no realizarlo, debes inicializar cada elemento manualmente.

Saludos.


En línea

class_OpenGL


Desconectado Desconectado

Mensajes: 437

Si usas Direct3D, no eres mi amigo :P


Ver Perfil
Re: [C] Manejo de cadenas
« Respuesta #2 en: 19 Octubre 2016, 09:14 am »

Como te han dicho, en el núcleo de C, si no inicializas un arreglo, después tendrías que darle un valor a cada elemento. Diciendo esto, en las librerías de C existe una función llamada strncpy declarada en string.h que te permite copiar byte a byte una cadena a otra de una forma muy cómoda. Ejemplo:

Código
  1. #include <string.h>
  2. #include <stdio.h>
  3.  
  4. int main() {
  5.   char arreglo[20];
  6.  
  7.   strncpy(arreglo, "Cadena de ejemplo", 20);
  8.  
  9.   fprintf(stdout, "%s\n", arreglo);
  10.  
  11.   return 0;
  12. }

NOTA: El ejemplo que has dado
Código
  1. palabra[20]={'H',' ','o'}
no es válido pues las llaves indicando cada elemento solo vale para inicializar, es decir, no puedes asignarle valores a los elementos del arreglo fuera de la inizialización con las llaves.
En línea

Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Manejo de cadenas, confundido!
Programación Visual Basic
$Edu$ 2 1,731 Último mensaje 6 Octubre 2011, 18:35 pm
por $Edu$
ayuda con manejo de cadenas y apuntadores
Programación C/C++
rod00x3 5 2,535 Último mensaje 7 Enero 2013, 19:24 pm
por rod00x3
manejo de cadenas _scanf
ASM
limbertx 3 2,947 Último mensaje 27 Febrero 2013, 17:41 pm
por xv0
[C] Segmentation Fault - Fallo manejo de cadenas
Programación C/C++
Miky Gonzalez 7 2,827 Último mensaje 21 Marzo 2013, 01:03 am
por durasno
Manejo de cadenas en C++ [Programación básica]
Programación C/C++
sombrakepsilon 0 1,296 Último mensaje 2 Diciembre 2015, 20:36 pm
por sombrakepsilon
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines