Condividi tramite


Funzione lstrcmpiA (winbase.h)

Confronta due stringhe di caratteri. Nel confronto non viene fatta distinzione tra maiuscole e minuscole.

Per eseguire un confronto con distinzione tra maiuscole e minuscole, usare la funzione lstrcmp .

Sintassi

int lstrcmpiA(
  [in] LPCSTR lpString1,
  [in] LPCSTR lpString2
);

Parametri

[in] lpString1

Tipo: LPCTSTR

Prima stringa con terminazione Null da confrontare.

[in] lpString2

Tipo: LPCTSTR

Seconda stringa con terminazione Null da confrontare.

Valore restituito

Tipo: int

Se la stringa a cui punta lpString1 è minore della stringa a cui punta lpString2, il valore restituito è negativo. Se la stringa a cui punta lpString1 è maggiore della stringa a cui punta lpString2, il valore restituito è positivo. Se le stringhe sono uguali, il valore restituito è zero.

Commenti

La funzione lstrcmpi confronta due stringhe controllando i primi caratteri l'uno contro l'altro, i secondi caratteri l'uno contro l'altro e così via finché non trova una disuguaglianza o raggiunge le estremità delle stringhe.

Si noti che i parametri lpString1 e lpString2 devono essere con terminazione Null. In caso contrario, il confronto tra stringhe non può essere corretto.

La funzione chiama CompareStringEx, usando le impostazioni locali del thread corrente e sottrae 2 dal risultato, per mantenere le convenzioni di runtime C per il confronto delle stringhe.

Per alcune impostazioni locali, la funzione lstrcmpi potrebbe non essere sufficiente. In questo caso, usare CompareStringEx per garantire un confronto appropriato. Ad esempio, in Giappone chiamare con i valori NORM_IGNORECASE, NORM_IGNOREKANATYPE e NORM_IGNOREWIDTH per ottenere il confronto di stringhe non esatto più appropriato. I valori NORM_IGNOREKANATYPE e NORM_IGNOREWIDTH vengono ignorati nelle impostazioni locali non asiatiche, quindi è possibile impostare questi valori per tutte le impostazioni locali e avere un ordinamento "senza distinzione culturale" indipendentemente dalle impostazioni locali. Si noti che la specifica di questi valori rallenta le prestazioni, quindi usarle solo quando necessario.

Con una versione DBCS (Double-Byte Character Set) del sistema, questa funzione può confrontare due stringhe DBCS.

La funzione lstrcmpi usa un ordinamento di parole anziché un ordinamento di stringa. Un ordinamento di parole tratta trattini e apostrofi in modo diverso rispetto ad altri simboli che non sono alfanumerici, per garantire che le parole come "coop" e "co-op" rimangano insieme all'interno di un elenco ordinato. Per una descrizione dettagliata degli ordinamenti di parole e delle stringhe, vedere Gestione dell'ordinamento nelle applicazioni.

Osservazioni sulla sicurezza

Vedere Considerazioni sulla sicurezza: Funzionalità internazionali per considerazioni sulla sicurezza relative alla scelta delle funzioni di confronto.

Nota

L'intestazione winbase.h definisce lstrcmpi come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winbase.h (include Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

CompareString

CompareStringEx

CompareStringOrdinal

Informazioni concettuali

Altre risorse

Riferimento

Stringhe

lstrcat

lstrcmp

lstrcpy

lstrlen