Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Vergleicht jedes Byte in zwei mit Nullzeichen abgeschlossenen Zeichenfolgen ab dem ersten Byte.
int _StrCmp(char FAR *string1, char FAR *string2)
char FAR *string1; /* First comparison string. */
char FAR *string2; /* Second comparison string. */
Hinweise
_StrCmp( ) gibt 0 zurück, wenn string1 und string2 übereinstimmen. _StrCmp( ) gibt eine positive Zahl zurück, wenn das erste nicht passende Byte in string1 größer als das entsprechende Byte in string2 ist. _StrCmp( ) gibt eine negative Zahl zurück, wenn das erste nicht passende Byte in string1 kleiner als das entsprechende Byte in string2 ist.
Weitere Informationen zum Erstellen einer API-Bibliothek und ihrer Integration in Visual FoxPro finden Sie unter Zugreifen auf die Visual FoxPro-API.
Beispiel
Im folgenden Beispiel wird _StrCmp( ) verwendet, um zwei als Parameter übergebene Zeichenfolgen zu vergleichen.
Visual FoxPro-Code
SET LIBRARY TO STRCMP
? STRCMP("Hello, world.", "Hello, world.") && matches; returns 0
? STRCMP("Hello, world.", "Hello, wurld.") && no match; returns non-0
C-Code
#include <pro_ext.h>
void NullTerminate(Value FAR *cVal)
{
if (!_SetHandSize(cVal->ev_handle, cVal->ev_length + 1))
{
_Error(182); // "Insufficient memory"
}
((char FAR *) _HandToPtr(cVal->ev_handle))[cVal->ev_length] = '\0';
}
FAR Example(ParamBlk FAR *parm)
{
int RetValue;
NullTerminate(&parm->p[0].val);
NullTerminate(&parm->p[1].val);
_HLock(parm->p[0].val.ev_handle);
_HLock(parm->p[1].val.ev_handle);
RetValue = _StrCmp(_HandToPtr(parm->p[0].val.ev_handle),
_HandToPtr(parm->p[1].val.ev_handle));
_RetInt(RetValue, 10); // does return control here
_HUnLock(parm->p[0].val.ev_handle);
_HUnLock(parm->p[1].val.ev_handle);
}
FoxInfo myFoxInfo[] = {
{"STRCMP", (FPFI) Example, 2, "C,C"},
};
FoxTable _FoxTable = {
(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};
Siehe auch
_StrCpy( ), API-Bibliotheksroutine | _StrLen( ), API-Bibliotheksroutine | _PutStr( ), API-Bibliotheksroutine | _WPutStr( ), API-Bibliotheksroutine | _SetHandSize( ), API-Bibliotheksroutine | String-Behandlungsroutinen