FrnbacYescO (Normal User)
Pro
Messaggi: 102
Iscritto: 15/03/2008
|
Salve, sto cercando di compilare un programma che all'interno deve fare una somma di vari valori char e unirli in un unico risultato, il problema e che s faccio "alla vb" mi da l'errore cannot add two pointer.
faccio un esempio per essere più chiaro.
ho queste definizioni:
Codice sorgente - presumibilmente C/C++ |
char *usersomma="", *usertext1="user", *usertext2="ciao", *usertext3="bla", *usertext4="casa";
|
durante l'uso del programma "usersomma" deve assumere il valore di tutti gli altri valori cioè dovrebbe uscire fuori "userciaoblacasa"
ho tentato inutilmente così (alla vb):
Codice sorgente - presumibilmente Plain Text |
usersomma = usertext1 + usertext2 + usertext3 + usertext4;
|
ma mi restituisce l'errore "cannot add two pointers"
come posso fare questa "semplicissima" somma??
Grazie
ps. uso c++6 Ultima modifica effettuata da FrnbacYescO il 22/12/2008 alle 13:50 |
|
Overflow (Normal User)
Expert
Messaggi: 334
Iscritto: 11/01/2008
|
Codice sorgente - presumibilmente C++ |
#include <iostream> #include <cstring> using namespace std; int main() { char *usersomma, *usertext1="user", *usertext2="ciao", *usertext3="bla", *usertext4="casa"; usersomma = new char[strlen(usertext1)+ strlen(usertext2)+ strlen(usertext3)+ strlen(usertext4)]; strcpy(usersomma,usertext1); strcat(usersomma,usertext2); strcat(usersomma,usertext3); strcat(usersomma,usertext4); cout << usersomma; return 1; }
|
|
|
munkaka (Member)
Pro
Messaggi: 119
Iscritto: 07/09/2008
|
volendo puoi anche dichiarare i char come array
Codice sorgente - presumibilmente C/C++ |
char usersomma[255], usertext1[10]="user", usertext2[10]="ciao", usertext3[10]="bla", usertext4[10]="casa";
|
Ultima modifica effettuata da munkaka il 22/12/2008 alle 17:07 |
|
mc (Normal User)
Rookie
Messaggi: 52
Iscritto: 04/12/2008
|
Overflow ha dimenticato il:
Codice sorgente - presumibilmente Plain Text |
prima del return.
Ma non è il forum C++ ?
Allora:
Codice sorgente - presumibilmente Plain Text |
std::string usertext1="user";
std::string usertext2="ciao";
std::string usertext3="bla";
std::string usertext4="casa";
std::string usersomma = usertext1 + usertext2 + usertext3 + usertext4;
|
|
|