copiar cadenas c++

Iniciado por Micah Genji, 19 Mayo 2010, 10:47 AM

0 Miembros y 1 Visitante están viendo este tema.

Micah Genji

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:

Código (cpp) [Seleccionar]
#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 :)
Only two things are infinite, the universe and human stupidity, and I'm not sure about the former : A.E

h0oke

Puedes utilizar punteros? Sean p1 y p2 punteros a una cadena:

for(;*p1 = *p2; p1++, p2++);

Horricreu

#2
Puedes utilizar memcpy().

Saludos :P


Micah Genji

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
Only two things are infinite, the universe and human stupidity, and I'm not sure about the former : A.E