[C con Clase] asignacion

Programante programante en gmail.com
Mar Oct 12 00:23:33 CEST 2010


 El 11/10/10 20:48, ت Augusto Lescano escribió:
> Hola gente, estoy teniendo problemas con la asignacion de char en un
> vector. El tema es con la primera funcion, leyendolos desde un "cin"
> si puedo perfectamente asignarle valores al vector pero si hago un
> strcpy de valores char que tengo en una matriz, no puedo. me da el
> error "Segmentation fault".
>
> ¿Alguna idea?
>
> void funcion() {
>     int i;
>     int n = 10;
>
>     char palabra[10];
>     palabra v[MAX_LENG];
>
>     cin >> v[0]; // for (i = 0; i < n ; i++) strcpy(v[i], m[0][i]);
> }
Aquí no defines lo que es palabra ni m.
No obstante, me da la impresión de que estás intentando copiar caracter
a caracter usando strcpy, cuando strcpy ya copia cadenas.

Sean
char Original[] = "Augusto Lescano";
char Copia[16]; //Longitud del texto + 1 para el terminador

Entonces podemos copiar el contenido de dos formas:

for (int i = 0; i <= 15; i++) {
Copia[i] = Original[i];
}
// Nota cómo puse <= de forma que también está copiando el \0 final.

O bien:
strcpy(Copia, Original);

Ambos fragmentos de código hacen exactamente lo mismo.

Me da la impresión de que querías recorrer todos los caracteres en un
bucle (primera opción) pero usaste strcpy() (segunda) mezclando ambas.





Más información sobre la lista de distribución Cconclase