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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  modificar arreglo de cadena de caracteres
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: modificar arreglo de cadena de caracteres  (Leído 6,262 veces)
kworld

Desconectado Desconectado

Mensajes: 30


Ver Perfil
modificar arreglo de cadena de caracteres
« en: 31 Mayo 2010, 10:18 am »

Hola, quiero modificar un arreglo de cadena de caracteres, quiero asignarle al indice 0 de cada cadena un caracter, pero no funciona, ¿Alguien podría ayudarme?

Código
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5. char* listado[] = {
  6.        "_:\\mi_listado.txt",
  7.        "_:\\notas.txt",
  8.        "_:\\p.txt"
  9. };
  10.  
  11. int i;
  12.  
  13. for (i=0; i < 3; ++i)
  14. {
  15.     listado[i][0] = 'C';
  16.     printf("%s\n",listado[i]);
  17. }
  18.  
  19.  
  20. }
  21.  
  22.  


En línea

Gallu

Desconectado Desconectado

Mensajes: 247



Ver Perfil
Re: modificar arreglo de cadena de caracteres
« Respuesta #1 en: 31 Mayo 2010, 12:18 pm »

A mi me paso algo parecido , mirate esto
  http://foro.elhacker.net/programacion_cc/problemas_con_funcion_tolower_del_ctype-t279250.0.html;msg1374719#msg1374719

una posible solución es la siguiente:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main() {
  6. char listado[3][10];
  7.  
  8. strcpy(listado[0], "_:\\mi_listado.txt");
  9. strcpy(listado[1], "_:\\notas.txt");
  10. strcpy(listado[2], "_:\\p.txt") ;
  11.  
  12.  
  13. int i;
  14.  
  15. for (i=0; i < 3; i++) {
  16.     listado[i][0] = 'C';
  17.     printf("%s\n",listado[i]);
  18. }
  19.  
  20.  
  21. }
  22.  
  23.  
  24.  


« Última modificación: 31 Mayo 2010, 15:26 pm por Didacso » En línea

Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.
Littlehorse
All the world's a stage
Moderador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: modificar arreglo de cadena de caracteres
« Respuesta #2 en: 31 Mayo 2010, 15:38 pm »

Igualmente si declaras el arreglo bidimensional de esa forma, podes inicializar el contenido perfectamente:

Código
  1. char listado[3][19]= {
  2.        "_:\\mi_listado.txt",
  3.        "_:\\notas.txt",
  4.        "_:\\p.txt"
  5.     };

Pero en el caso que se utilice un arreglo de punteros (que no es lo mismo que declarar listado[3][10]) lo ideal es utilizar memoria dinámica y luego guardar el contenido.
Y por cierto, si te fijas, 10 no es suficiente para las cadenas que quieres guardar con strcpy.

Este post seguramente sirva.

Saludos!

En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
No entiendo la funcion del cin en este programa Arreglo de caracteres
Programación C/C++
CATBro 5 3,046 Último mensaje 11 Julio 2012, 00:46 am
por CATBro
Duda con puntero a arreglo de caracteres
Programación C/C++
dato000 5 4,807 Último mensaje 30 Noviembre 2012, 21:13 pm
por xiruko
Cantidad de caracteres en un arreglo y cortar una cadena
Programación C/C++
josri 5 4,118 Último mensaje 16 Marzo 2013, 16:34 pm
por naderST
duda con arreglo de caracteres
Programación C/C++
m@o_614 6 3,182 Último mensaje 2 Abril 2014, 19:22 pm
por rir3760
[C] Copiar arreglo de caracteres con Operador Igual
Programación C/C++
AlbertoBSD 8 4,485 Último mensaje 25 Junio 2016, 11:40 am
por fary
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines