c++string-literalscharacter-arrays

Comparing character arrays and string literals in C++


I have a character array and I'm trying to figure out if it matches a string literal, for example:

char value[] = "yes";
if(value == "yes") {
   // code block
} else {
   // code block
}

This resulted in the following error: comparison with string literal results in unspecified behavior. I also tried something like:

char value[] = "yes";
if(strcmp(value, "yes")) {
   // code block
} else {
   // code block
}

This didn't yield any compiler errors but it is not behaving as expected.


Solution

  • std::strcmp returns 0 if strings are equal.