Condividi tramite


Funzione lstrcmpiA (winbase.h)

Confronta due stringhe di caratteri. Il confronto non fa distinzione tra maiuscole e minuscole.

Per eseguire un confronto che fa 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.

Osservazioni

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

Si noti che i parametri lpString1 e lpString2 devono essere terminati con 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_IGNOREKANATYPEe 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, pertanto è possibile impostare questi valori per tutte le impostazioni locali ed essere garantiti di disporre di un ordinamento "senza distinzione" culturale indipendentemente dalle impostazioni locali. Si noti che l'impostazione di questi valori rallenta le prestazioni, quindi usarli 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 stringhe. Un ordinamento di parole tratta trattini e apostrofi in modo diverso rispetto ad altri simboli che non sono alfanumerici, al fine di 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

Per considerazioni sulla sicurezza relative alla scelta delle funzioni di confronto, vedere Considerazioni sulla sicurezza: Funzionalità internazionali.

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 non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione winbase.h (include Windows.h)
libreria Kernel32.lib
dll Kernel32.dll

Vedere anche

CompareString

CompareStringEx

CompareStringOrdinal

concettuale

altre risorse

riferimento

stringhe

lstrcat

lstrcmp

lstrcpy

lstrlen