|
|
|
![]() |
|
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
![]()
__________________
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]; ![]()
__________________
![]() |
![]() |
![]() |
![]() |
#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
![]()
__________________
![]() |
![]() |
![]() |
![]() |
#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!
__________________
![]() |
![]() |
![]() |
![]() |
#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 17:27. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:28.