Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Addizionare vari
Forum - C/C++ - Addizionare vari "char"

Avatar
FrnbacYescO (Normal User)
Pro


Messaggi: 102
Iscritto: 15/03/2008

Segnala al moderatore
Postato alle 13:49
Lunedì, 22/12/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++

  1. 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

  1. 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
PM Quote
Avatar
Overflow (Normal User)
Expert


Messaggi: 334
Iscritto: 11/01/2008

Segnala al moderatore
Postato alle 17:04
Lunedì, 22/12/2008
Codice sorgente - presumibilmente C++

  1. #include <iostream>
  2. #include <cstring>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.         char *usersomma, *usertext1="user", *usertext2="ciao",
  9.                 *usertext3="bla", *usertext4="casa";
  10.        
  11.         usersomma = new char[strlen(usertext1)+
  12.                 strlen(usertext2)+
  13.                 strlen(usertext3)+
  14.                 strlen(usertext4)];
  15.  
  16.         strcpy(usersomma,usertext1);   
  17.         strcat(usersomma,usertext2);
  18.         strcat(usersomma,usertext3);
  19.         strcat(usersomma,usertext4);
  20.  
  21.         cout << usersomma;
  22.         return 1;
  23. }


PM Quote
Avatar
munkaka (Member)
Pro


Messaggi: 119
Iscritto: 07/09/2008

Segnala al moderatore
Postato alle 17:06
Lunedì, 22/12/2008
volendo puoi anche dichiarare i char come array
Codice sorgente - presumibilmente C/C++

  1. 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


Q: I need help, give me some pointers!
R: 0x3A28213A, 0x6339392C, 0x7363684E, ...
PM Quote
Avatar
mc (Normal User)
Rookie


Messaggi: 52
Iscritto: 04/12/2008

Segnala al moderatore
Postato alle 17:21
Lunedì, 22/12/2008
Overflow ha dimenticato il:
Codice sorgente - presumibilmente Plain Text

  1. delete[] usersomma



prima del return.
Ma non è il forum C++ ?
Allora:
Codice sorgente - presumibilmente Plain Text

  1. std::string usertext1="user";
  2. std::string usertext2="ciao";
  3. std::string usertext3="bla";
  4. std::string usertext4="casa";
  5. std::string usersomma = usertext1 + usertext2 + usertext3 + usertext4;


PM Quote