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
Informazioni concettuali
Altre risorse
Riferimento