View Full Version : [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 :mbe:
facci vedere un esempio di 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;
}
a me non fa fare niente, termina subito.. e comunque buffer allocato così è grande zero..
certo che non fà fare nulla :asd: ho riportato solo le righe di codice dove si presenta il problema più le dichiarazioni delle variabili.
OT: si scrive "length", non "lenght".
occhio che quando i = 0
aux=buffer[-1]; ;)
OT: si scrive "length", non "lenght".
perdona la mia ignoranza in inglese
occhio che quando i = 0
aux=buffer[-1]; ;)
sei un grande, mi ci stavo impazzendo per questa ca**ata :muro: mi succede sempre di non capire le cose più semplici, giuro che da solo non l'avrei mai trovato l'errore, ti ringrazio molto vizzz
speriamo che con il tempo miglioro :doh:
in questi casi di solito mi aiuta prendere carta e penna, segnare il valore iniziale della variabile e vedere l'andamento del programma :D
in questi casi di solito mi aiuta prendere carta e penna, segnare il valore iniziale della variabile e vedere l'andamento del programma :D anche gli IDE moderni permettono di farlo, addirittura permettendoti di analizzare il call stack ed i valori delle variabili in qualunque momento. si chiama debug :D
anche gli IDE moderni permettono di farlo, addirittura permettendoti di analizzare il call stack ed i valori delle variabili in qualunque momento. si chiama debug :D
se hai un debugger! ultimamente sono troppo abituato a programmare su micro senza interfaccia jtag ecc.. carta e penna regnano!
ho un altro problema sempre con gli array di char
dovrei chiamare ricorsivamente una funzione, ma il compilatore mi dà il seguente errore:
char*' to char quando tento di far tornare al main un vettore di char ricevuto come parametro
e lo stesso errore si presenta alla riga in cui richiamo ricorsivamente la funzione:
cout<<funzione(funzione(buffer,length),length);
se inoltre mi spiegate la differenza tra const char e char mi fate un favore, anche se credo d'aver in tuito a cosa si riferisca.
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
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.