Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Problemas concatenando

Estas en el tema de Problemas concatenando en el foro de C/C++ en Foros del Web. Tengo pila de problemas con las concatenaciones, el error que me tira es que no puede acceder a la direccion de memoria de la variable ...
  #1 (permalink)  
Antiguo 17/05/2009, 14:51
Avatar de nem_sys  
Fecha de Ingreso: mayo-2009
Mensajes: 15
Antigüedad: 14 años, 11 meses
Puntos: 0
Problemas concatenando

Tengo pila de problemas con las concatenaciones, el error que me tira es que no puede acceder a la direccion de memoria de la variable "tab". cualquier ayuda sirve gracias.
Código:
	String arbol = " ";
	String tab = "\t";
	strcat_s(tab, strlen(tab), arbol);
	arbol = tab;
	cout<<arbol;
	system("PAUSE");
  #2 (permalink)  
Antiguo 18/05/2009, 16:06
 
Fecha de Ingreso: mayo-2008
Ubicación: Chile
Mensajes: 189
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Problemas concatenando

tengo entendido que concatenar con funcion es para char*, para strings yo haria algo asi:
Cita:
#include <stdlib.h>
#include <iostream>
#include <string>

using namespace std;

int main()
{
string arbol = "blablabla";
string tab = "\t";
tab = arbol+tab+"abc";
cout <<tab<< endl;

system("PAUSE");
return 0;
}
si entendi mal me dices y veo si te puedo ayudar
  #3 (permalink)  
Antiguo 19/05/2009, 11:02
Avatar de nem_sys  
Fecha de Ingreso: mayo-2009
Mensajes: 15
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Problemas concatenando

Cita:
Iniciado por Tikitios Ver Mensaje
tengo entendido que concatenar con funcion es para char*, para strings yo haria algo asi:


si entendi mal me dices y veo si te puedo ayudar

Perdon por no aclarar la culpa fue mia, me falto pner el
typederf char * String

gracias por la ayuda
  #4 (permalink)  
Antiguo 19/05/2009, 19:24
 
Fecha de Ingreso: mayo-2008
Ubicación: Chile
Mensajes: 189
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Problemas concatenando

aqui tengo otro ejemplo con char*:
Cita:
#include <stdio.h>
#include <stdlib.h>
#include <iostream>

using namespace std;

/* Halla la longitud de una cadena, hace las veces de strlen */
int longitud(char *cadena)
{
int i;
for(i=0; ;i++)
if(cadena[i]=='\0')
break;
return i;
}


/*
Concatena cadena1 y cadena2 y devuelve la cadena resultante en cadena
*/
void concatenar(char *cadena, char *cadena1, char *cadena2)
{
int i, l_cadena1, l_cadena2;

l_cadena1 = longitud(cadena1);
l_cadena2 = longitud(cadena2);

for(i=0; i<l_cadena1; i++)
cadena[i]=cadena1[i];
for(i=0; i<l_cadena2; i++)
cadena[l_cadena1+i]=cadena2[i];

cadena[l_cadena1+l_cadena2]='\0';
}

int main()
{
char cadena1[4] = "ABC";
char cadena2[20];


char *cadena;

cout <<"Ingrese algo."<< endl;
cin >> cadena2;

concatenar(cadena, cadena1, cadena2);

printf("Cadena 1: %s, caracteres: %d\n", cadena1, longitud(cadena1));
printf("Cadena 2: %s, caracteres: %d\n", cadena2, longitud(cadena2));
printf("Cadena resultante: %s, caracteres: %d \n", cadena, longitud(cadena));
system("PAUSE");
}
Ojalá te sirva.
  #5 (permalink)  
Antiguo 20/05/2009, 07:31
Avatar de nem_sys  
Fecha de Ingreso: mayo-2009
Mensajes: 15
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Problemas concatenando

Este metodo tambien me tira error al acceder al espacio de memoria de la variable "tab" ya probe jugar de todos modos con esos punteros para ver que es, pero nada. gracias por la ayuda
  #6 (permalink)  
Antiguo 21/05/2009, 13:55
Avatar de nem_sys  
Fecha de Ingreso: mayo-2009
Mensajes: 15
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Problemas concatenando

Ya esta arreglado el tema, gracias por la ayuda Tikitios!!
  #7 (permalink)  
Antiguo 21/05/2009, 16:55
 
Fecha de Ingreso: mayo-2008
Ubicación: Chile
Mensajes: 189
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Problemas concatenando

De nada =D
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:04.