Thread obsoleto Errore debugging codice

Sirduck

Utente Attivo
Autore del topic
29 Dicembre 2011
338
0
Miglior risposta
0
Sono agli inizi per imparare a programmare in C++, ho cominciato con basi e programmini molto semplici, ora ho un problema con questo codice:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Durante la fase di scrittura non mi appare nessun errore sottolineato da una linea rossa, però quando faccio il debugging mi da failed, a me sembra tutto a posto, aiutatemi !!
 
Riferimento: Errore debugging codice

Ma c'è scritto l'errore di preciso ??
 
Riferimento: Errore debugging codice

E' inutile che riscrivi la funzione per contare il numero di caratteri di una stringa perché c'è già : strlen(), definita in string.h.
Comunque nel prototipo della funzione manca il nome della variabile dopo l'asterisco.
 
Riferimento: Errore debugging codice

Quindi l'errore sta in
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
??
Cosa devo modificare ?? Non capisco questo...
@System32
 
Riferimento: Errore debugging codice

@Sirduck Se devi contare quanti caratteri sono presenti in una stringa, ti basta usare la funzione strlen(variabileDellaStringa)
che ti restituisce un numero intero, indicante il numero di caratteri,.
Se ad esempio ho la variable X che contiene la stringa "ciao", la funzione strlen(X) mi restiuirà 4.

Quindi il tuo programma diventa:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
 
Riferimento: Errore debugging codice

Risolto, funziona :emoji_smiley: avevo sbagliato qualche parte nel codice, grazie mille della spiegazione
 
Riferimento: Errore debugging codice

@Sirduck La funzione contaStringa non ha senso perché non fa altro che richiamare una funzione già esistente definita in string.h e rallentare ( anche se di pochissimo ) il programma; quindi fai prima a scrivere :

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

Comunque personalmente, anche se è un programma banale, lo avrei scritto così :

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
 
Ultima modifica:
Riferimento: Errore debugging codice

@Sirduck

Avevi solamente scritto male il nome della funzione ... devi stare attento

Qui hai scritto

int contrasting (const char *);

e qui

int constrasting (const char *s)

(a parte il fatto che il nome corretto dovrebbe essere contastring ma puoi chiamarla anche pippo, a patto che la chiami sempre pippo).

@System32

Il controllo della lunghezza maggiore di 80 non ha molto senso perché, in quel caso, si è già corrotto lo stack e il programma non sarebbe più affidabile.

In C++ si usano gli oggetti string e non le stringhe del C ...
 
Riferimento: Errore debugging codice

Il controllo della lunghezza maggiore di 80 non ha molto senso perché, in quel caso, si è già corrotto lo stack e il programma non sarebbe più affidabile.

Difatti dopo la cout il programma si chiude e la variabile stringa non viene più utilizzata.

In C++ si usano gli oggetti string e non le stringhe del C ...

Hai ragione.