Question: How do I compare character data stored at two different memory locations?
Answer: Sometimes in a program we require to compare memory ranges containing strings. In such a situation we can use functions like memcmp( ) or memicmp( ). The basic difference between two functions is that memcmp( ) does a case-sensitive comparison whereas memicmp( ) ignores case of characters. Following program illustrates the use of both the functions.#include <mem.h> main( ) { char *arr1 = "Kicit" ; char *arr2 = "kicitNagpur" ; int c ; c = memcmp ( arr1, arr2, sizeof ( arr1 ) ) ; if ( c == 0 ) printf ( "nStrings arr1 and arr2 compared using memcmp are identical" ) ; else printf ( "nStrings arr1 and arr2 compared using memcmp are not identical" ) ; c = memicmp ( arr1, arr2, sizeof ( arr1 ) ) ; if ( c == 0 ) printf ( "nStrings arr1 and arr2 compared using memicmp are identical" ) ; else printf ( "nStrings arr1 and arr2 compared using memicmp are not identical" ) ; } |
Simpan untuk Revisi
Bookmark item ini, tandai sebagai sulit, atau masukkan ke dalam set revisi.
Masuk untuk menyimpan bookmark, pertanyaan sulit, dan set revisi.
Apakah ini membantu? Ya Tidak
Most helpful rated by users:
- What will be the output of the following code?
void main ()
{ int i = 0 , a[3] ;
a[i] = i++;
printf ("%d",a[i]) ;
} - Why doesn't the following code give the desired result?
int x = 3000, y = 2000 ;
long int z = x * y ; - Why doesn't the following statement work?
char str[ ] = "Hello" ;
strcat ( str, '!' ) ; - How do I know how many elements an array can hold?
- How do I compare character data stored at two different memory locations?