Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako používať funkcie memcmp v C + +

C + + memcmp funkcia porovnáva zadaný počet bajtov dvoch blokov pamäte . Vracia 0 , ak sa všetci zápasu a nenulovú hodnotu určiť , ktorá hodnota je väčšia . Nasledujúce kroky vám pomôžu používať memcmp . Pokyny dovolená 1

syntax memcmp v C + + . Kompletné syntax je int memcmp ( const void * pointer1 , const void * pointer2 , size_t num ) ; .
2

Všimnite si , že pointer1 a pointer2 sú ukazovatele na bloky pamäti . Memcmp začína na začiatku blokov pamäte a porovnáva hodnoty bajtu , kým nenájde boli porovnané rozdiel , alebo num bajtov . Ak num bajtov zápas , memcmp vráti nulu . Ak je prvý non - matching byte ako unsigned char je väčšia pre pointer1 , vráti memcmp kladné celé číslo . V opačnom prípade vracia záporné celé číslo .
3

Pochopte , že funkcia C + + memcmp je uložený v knižnici CString . Možno budete musieť zahrnúť súbor string.h záhlavie použiť túto funkciu
4

Pozrite sa na nasledujúce kompletný program pre niektoré jednoduché príklady , ako používať memcmp : .

# Include # include klipart

int main ( ) { char string1 [ 80 ] ; char reťazec2 [ 80 ] ; int n ; size_t délka1 , length2 ;

printf ( " Zadajte reťazec : " ) ; dostane ( string1 ) ; printf ( " Zadajte ďalšie reťazec : " ) ; dostane ( string2 ) ; délka1 = strlen ( řetězec1 ) ; length2 = strlen ( string2 ) , n = memcmp ( řetězec1 , reťazec2 , délka1 > length2 délka1 : ? length2 ) ; if (n > 0 ) printf ( " . " % s " je väčšia ako ' % s ' \\ n" , string1 , string2 ) . else if ( nprintf ( " ' % s' je menšia ako ' % s ' \\ n " string1 , string2 ) ; elseprintf ( " ' % s' je rovnaký ako ' % s ' \\ n " , string1 , string2 ) .

return 0 ; }
5

Dodržujte nasledujúce výstup tohto programu : klipart

Zadajte reťazec : Toto je krátka sentence.Enter iný reťazec : . To je oveľa dlhší trest . " To je krátka veta " je väčšia ako " Tento je oveľa dlhší trest . "

Všimnite si , že prvý non - zodpovedajúce znak je " s " v prvom reťazci a " m " v druhom reťazci . byte hodnota " s " je 115 a bajt hodnota " m " je 109 , teda prvý reťazec je väčšia .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené