|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2008
Messaggi: 1271
|
[C++] vari problemi con char/string
Stò scivendo un programmino in cui utilizzo stringhe e char ed ho incontrato già diversi problemi, tra cui il più strano:
dichiaro un' array char di una dimensione n, e quando leggo una parola che magari è pari a 4 volte n, se mando in output l'array di char mi scrivo quando digitato. In pratica si comporta come una stringa
__________________
MacBook 6,1|2,26 Ghz C2D|2GB 1067 Mhz DDR3|GeForce 9400M|Mac OSX 10.6.2 |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
facci vedere un esempio di codice..
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2008
Messaggi: 1271
|
Codice:
char *buffer,aux;
int lenght;
string str;
lenght=str.size();
buffer=new char[lenght];
for(int i=0;i<lenght;i++) {
aux=buffer[i-1];
buffer[i-1]=buffer[i];
buffer[i]=aux;
cout<<buffer;
}
__________________
MacBook 6,1|2,26 Ghz C2D|2GB 1067 Mhz DDR3|GeForce 9400M|Mac OSX 10.6.2 |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
a me non fa fare niente, termina subito.. e comunque buffer allocato così è grande zero..
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Sep 2008
Messaggi: 1271
|
certo che non fà fare nulla
ho riportato solo le righe di codice dove si presenta il problema più le dichiarazioni delle variabili.
__________________
MacBook 6,1|2,26 Ghz C2D|2GB 1067 Mhz DDR3|GeForce 9400M|Mac OSX 10.6.2 |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
OT: si scrive "length", non "lenght".
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
occhio che quando i = 0
aux=buffer[-1];
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Sep 2008
Messaggi: 1271
|
perdona la mia ignoranza in inglese
sei un grande, mi ci stavo impazzendo per questa ca**ata speriamo che con il tempo miglioro
__________________
MacBook 6,1|2,26 Ghz C2D|2GB 1067 Mhz DDR3|GeForce 9400M|Mac OSX 10.6.2 |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
in questi casi di solito mi aiuta prendere carta e penna, segnare il valore iniziale della variabile e vedere l'andamento del programma
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
|
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
Quote:
|
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
se hai un debugger! ultimamente sono troppo abituato a programmare su micro senza interfaccia jtag ecc.. carta e penna regnano!
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Sep 2008
Messaggi: 1271
|
ho un altro problema sempre con gli array di char
dovrei chiamare ricorsivamente una funzione, ma il compilatore mi dà il seguente errore: Codice:
char*' to char e lo stesso errore si presenta alla riga in cui richiamo ricorsivamente la funzione: Codice:
cout<<funzione(funzione(buffer,length),length); EDIT:quello che mi serve, se non l'aveste capito, è far tornare l'intero vettore di char dalla funzione al main, inoltre il presente vettore deve essere passato come parametro alla funzione ricorsivamente
__________________
MacBook 6,1|2,26 Ghz C2D|2GB 1067 Mhz DDR3|GeForce 9400M|Mac OSX 10.6.2 Ultima modifica di M4rk191 : 14-02-2009 alle 18:27. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:38.











ho riportato solo le righe di codice dove si presenta il problema più le dichiarazioni delle variabili.
ho concluso con: kvegeta, doctordb, Leland Gaunt.









