Hola a todos resulta que estoy tocando este tema, y ando confuso creo q es mas la algoritmia q no me funciona o mal diseñada, pero tambein tengo dudas de como usar el c++.
quiero copiar de la cadena v2 a v1:
#include<iostream.h>
#define MAX 100
void main(void){
char v1[MAX],v2[MAX],aux[MAX];
int n;
do{
cout<<"\n\nCuantas palabras ingresaras: ";
cin>>n;
}while (n<=0 || n>MAX);
for(int i=0; i<n ; i++){
cin.ignore();
cout<<"\n"<<i<<". Ingrese una palabra cualquiera: ";
cin.getline(v2,n);
cin>>v2[i];
aux[MAX]=v2[i];
v1[i]=aux[MAX];
}
for(int i=0; i<=n ;i++){
cout<<"\n "<<v1[i];
}
cin.get();
}
Cual es la manera correcta de hacer uso de cadenas?
saludos :)
Puedes utilizar punteros? Sean p1 y p2 punteros a una cadena:
for(;*p1 = *p2; p1++, p2++);
Puedes utilizar memcpy() (http://www.cplusplus.com/reference/clibrary/cstring/memcpy/).
Saludos :P
Tambien puedes usar... strncpy()
http://www.cplusplus.com/reference/clibrary/cstring/strncpy/
http://c.conclase.net/librerias/index.php?ansifun=strncpy
Salu10.
gracias x responder mm con punteros aun es muy prematuro hacerlo pero en fin lo tratare de hacer :)
Ahora con funcion strncpy() funciona pero quiero implementarlo dentro de un for con un ingreso de n veces me captan, en algoritmos toque con esto pero en la implemnetacion es algo mas duro, han ejecutado el codigo expuesto, hay un error el segundo for se antepone al consecutivo del primero y eso no es lo que quiero. bueno alquien q pueda ayudar en la logica, por lo q propuse anda siempre cuando sea un caracter o si fuera datos numericos andaria d lujo :xD
Pero quiero hacerlo en cadenas, de todas maneras seguire dandole mas vuelta al tema
salud0s