Konkatenacja wskaznikow na string

0

Witam :) to moj pierwszy post na tym forum, mam pytanie: mianowicie jak polaczyc ze soba dwa wskazniki by otrzymac jeden string:

#include<iostream>
#include<string>
using namespace std;
int main()
{
    string bufor;
    
    cout << "Podaj imie: ";
    getline(cin, bufor);
    string * ps = new string;
    ps = &bufor;
        
    cout << "Podaj nazwisko: ";
    getline(cin, bufor);
    string * pd = new string;
    pd = &bufor;   
    
    *pd += ", ";       // to dziala
    *pd += *ps;        // to nie 

    cout << "Oto informacje zestawione w jeden napis: " << *pd; // w efekcie ma byc "nazwisko, imie"
    
    delete ps;
    delete pd;
    
    cin.get();
    return 0;
}
0

Możesz użyć strcat z <cstring>

0

Tak wiem ale to zadanie :) i mam do tego posluzyc sie klasa string

0

Tylko po cholerę robisz dynamiczne stringi? Zauważ, że najpierw tworzysz dynamicznie stringa i przypisujesz do wskaźnika, potem do wskaźnika przypisujesz lokalnego stringa, nie dość, że gupisz pamięć to i dane... No ale dobrze, masz:

#include<iostream>
#include<string>
using namespace std;
int main()
{
    string bufor;
    
    cout << "Podaj imie: ";
    getline(cin, bufor);
    string * ps = new string;
    *ps = bufor;
        
    cout << "Podaj nazwisko: ";
    getline(cin, bufor);
    string * pd = new string;
    *pd = bufor;   
    
    *pd += ", "; 
    *pd += *ps;

    cout << "Oto informacje zestawione w jeden napis: " << *pd;
    
    delete ps;
    delete pd;
    
    cin.get();
    return 0;
}
0

chcialem pocwiczyc operacje na wskaznikach :P a ze to bardzo nieoptymalny kod to zdaje sobie z tego sprawe :) dziekuje :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1