🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #7384

strcat() en c++

#7384
From: Edgar de la cruz
Date: Wed, 05 Mar 2003 15:01
54 lines
2878 bytes
Resulta que estaba haciendo el siguiente programilla en c++ en mi redhat 
linux 7.3:

//---------------archivo main.cpp----------------------
#include <iostream.h>
#include <string.h>
#include <stdlib.h>

void main()
{
        char *cad1, *cad2;
        int i=0, limsup=0;

        cad1=(char*)malloc(20*sizeof(char*));
        cad2=(char*)malloc(20*sizeof(char*));

        cad1="";

        cout<<"Cuantas cadenas desea introducir?: ";
        cin>>limsup;

        for(i=0;i<limsup;++i)
        {
                cout<<"Introduzca una cadena: ";
                cin>>cad2;
                strcat(cad1,cad2); //aparentemente es en esta l�nea
                //en donde falla.
                strcat(cad1,",");
                cout << "cad2 se ha concatenado con cad1,";
                cout << " entonces cad1 vale: " << cad1 << endl;
        }
}
//----------------fin del archivo main.cpp-------------------------
lo estoy compilando con el g++ 2.96 en redhat 7.3, con el ddd 3.3. con la 
siguiente orden.
g++ -g -o main main.cpp

El problema es que cuando llega a la l�nea donde aparece la funci�n de 
concatenaci�n strcat(cad1,cad2) ocurre un error de violaci�n de segmento al 
ejecutarlo. Si lo depuro con el ddd sin establecer ning�n punto de 
interrupci�n me d� tambi�n un error de violaci�n de segmento as�:

Program received signal SIGSEGV, Segmentation fault.
0x4207f87d in strcat () from /lib/i686/libc.so.6 

Pero falta todav�a lo mejor y mas contradictorio que jamas he visto!!!!
basta que establezca alg�n punto de interrupci�n en cualquier parte del 
c�digo, donde mas me de la gana y el bendito programa funciona!!!!!, qu� 
creen que est� mal, como puedo arreglarlo?????


gracias de antemano!!!!

AcrraidX
Technical Details
Message-ID: <b453rv$6ma$1@julieta.escomposlinux.org>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!diablo.theplanet.net!news-hub.cableinet.net!blueyonder!marmolejo.escomposlinux.org!antonio.escomposlinux.org!julieta.escomposlinux.org!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,aff69d8b36562df0,start
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2003-03-05 07:07:49 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!diablo.theplanet.net!news-hub.cableinet.net!blueyonder!marmolejo.escomposlinux.org!antonio.escomposlinux.org!julieta.escomposlinux.org!not-for-mail
From: Edgar de la cruz <acrraidx@lycos.es>
Newsgroups: es.comp.os.linux.programacion
Subject: strcat() en c++
Date: Wed, 05 Mar 2003 11:01:50 -0400
Organization: Oculaser
Lines: 54
Message-ID: <b453rv$6ma$1@julieta.escomposlinux.org>
NNTP-Posting-Host: 200.84.129.128
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7Bit
X-Trace: julieta.escomposlinux.org 1046876865 6858 200.84.129.128 (5 Mar 2003 15:07:45 GMT)
X-Complaints-To: usenet@julieta.escomposlinux.org
NNTP-Posting-Date: Wed, 5 Mar 2003 15:07:45 +0000 (UTC)
User-Agent: KNode/0.7.1