How to use memcmp() function to compare the first N bytes of string1[] and string2[] in C

2 Answers

0 votes
#include <stdio.h>
#include <string.h>

int main(void)
{
	char s1[32] = "abcefg";
	char s2[32] = "abchij";
  
	int comp;

	comp = memcmp(s1, s2, sizeof(s1));

	if (comp > 0) 
		printf ("%s > %s\n" ,s1, s2);
	else if (comp < 0) 
			 printf ("%s < %s\n" ,s1, s2);
	     else 
		     printf ("%s == %s\n" ,s1, s2);

    return 0;
}
  
    
/*
      
run:

abcefg < abchij

*/

 



answered Feb 1, 2016 by avibootz
edited Feb 1, 2016 by avibootz
0 votes
#include <stdio.h>
#include <string.h>

int main(void)
{
	char s1[32] = "abcefg";
	char s2[32] = "abchij";
  
	int comp;

	comp = memcmp(s1, s2, 3 * sizeof(char));

	if (comp > 0) 
		printf ("%s > %s for first 3 characters only\n" ,s1, s2);
	else if (comp < 0) 
			 printf ("%s < %s for first 3 characters only\n" ,s1, s2);
	     else 
		     printf ("%s == %s for first 3 characters only\n" ,s1, s2);

    return 0;
}
  
    
/*
      
run:

abcefg == abchij for first 3 characters only

*/

 



answered Feb 1, 2016 by avibootz
...