PDA

Visualizza la versione completa : [C++] String Compare (strcmp)


aldo123
25-01-2013, 19:57
Ciao a tutti,
Ho un piccolo dubbio sullo string compare...
Sto svolgendo una funzione di ordinamento su delle stringhe, e devo vedere quale è più "grande" o no. Sapendo che 'strcmp' restituisce un numero, in parole povere, il mio dubbio è questo:
Es:


if (strcmp (x,y)<0)
...

Questo è solo un esempio per chiarire il mio dubbio; Seguendo questa funzione, da come ricordo e riesco a dedurre 'x' dovrebbe essere più "piccolo" di 'y'. Questo però, in termine di parola, cosa vuol dire? Che 'x', in ordine alfabetico, viene dopo di 'y' o viceversa?

Grazie in anticipo!

giorgio_kollias
25-01-2013, 21:11
strcmp restituisce 0 se sono stringhe uguali, un valore maggiore a 0 se il primo carattere che non ha corrispondenza ha un valore (o, nel caso del carattere, codice ASCII) maggiore del secondo, un valore minore di 0 se è il contrario.

oregon
25-01-2013, 23:52
Originariamente inviato da aldo123

if (strcmp (x,y)<0)


A parte il fatto che una semplicissima prova di 10 secondi ti avrebbe tolto i dubbi, esiste comunque una documentazione semplice da leggere

http://www.cplusplus.com/reference/cstring/strcmp/

A value greater than zero indicates that the first character that does not match has a greater value in str1 than in str2; And a value less than zero indicates the opposite.

e che ti avrebbe evitato un post sul forum.

Loading