C/Memory/Memory Compare
Compare two buffers: how to use memcmp
<source lang="cpp">
- include <stdio.h>
- include <string.h>
int main () {
char str1[256]; char str2[256]; int n, len1, len2; printf ("Enter a sentence: "); gets(str1); printf ("Enter another sentence: "); gets(str2); len1=strlen(str1); len2=strlen(str2); n = memcmp ( str1, str2, len1 > len2 ? len1 : len2 ); if (n>0) printf (""%s" is greater than "%s"", str1, str2); else if (n<0) printf (""%s" is less than "%s"",str1,str2); else printf (""%s" = "%s"\n",str1,str2); return 0;
}
</source>
Memory compare
<source lang="cpp">
- include <stdio.h>
- include <string.h>
- include <stdlib.h>
int main(int argc, char *argv[]) {
int outcome, len, l1, l2; if(argc!=3) { printf("Incorrect number of arguments."); exit(1); } /* find the length of shortest string */ l1 = strlen(argv[1]); l2 = strlen(argv[2]); len = l1 < l2 ? l1:l2; outcome = memcmp(argv[1], argv[2], len); if(!outcome) printf("Equal"); else if(outcome<0) printf("First less than second."); else printf("First greater than second."); return 0;
}
</source>