Compare part of an input string using strcmp() in C
c, strcmp
Solution
Use strncmp:
if (strncmp(str, "test", 4) == 0) { printf("it matches!"); }
See http://www.cplusplus.com/reference/cstring/strncmp/ for more info.
Problem
Normally strcmp is used with two arguments [e.g. strcmp(str1,"garden")], and it will return 0 if both are the same. Is it possible to compare part of the input, say the first five character of the input? (for example, `strcmp(str1,"garde",5)`) ``` #include <stdio.h> #include<string.h> int main(void) { char str1[] = "garden"; if (strcmp(str1, "garden") == 0) { printf("1"); } if (strcmp(str1, "garden", 6) == 0) { printf("2"); } if (strcmp(str1, "garde", 5) == 0) { printf("3"); } return 0; } ```