Kopiowanie tablic dynamicznych

0

Mam dwie tablice dynamiczne:

char * buffer;
char * message;

Tablice należą do osobnych klas;

Chciałbym przekopiować zawartość buffer* do message*

Próbowałem tak:

memcpy( tcp.message, file.buffer, sizeof( char* ) * file.length );

ale program się wywala.

2

Jak to C++ to zamiast się męczyć w ten sposób, użyj std::vector<char> lub w tym przypadku std::string i kopiowanie (i nie tylko) stanie się trywialne.

Twoim bezpośrednim problemem jest prawdopodobnie to, ƶe nie zaalokowałeś pamięci, więc memcpy trzeba by poprzedzić tcp.message = new char[file.length];, tylko potem oczywiście trzeba poprawnie i dokładnie jeden raz tę pamięć zwolnić.

0

Nie to nie to. Wcześniej miałem ja już ustaloną.

Ja wczytuje plik tekstowy i chciałbym go przesłać protokołem tcp przy pomocy klasy sf::Packet;
http://www.sfml-dev.org/tutorials/2.2/network-packet.php
http://www.sfml-dev.org/documentation/2.2/classsf_1_1Packet.php

do pakietu przesyłałem dane z char* buffer do sf::Packet packet tak:

tcp.packet << file.buffer;

a potem (w innym programie) z pakietu w kładam do bufora by zapisać dane.

tcp.packet >> file.buffer;

Ale tworzy się pusty plik.

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