#include <iostream>
#include <cstring>
#include <string>
int main()
{
const char string_a[4] = "foo";
const char string_b[4] = "foo";
const char * string_c = string_a;
std::cout << std::boolalpha; // for better bool output
std::cout << "C way for char array: string_a == string_b: " <<
(string_a == string_b) << std::endl;
std::cout << "C way: string_a == string_c: " <<
(string_a == string_c) << std::endl;
std::cout << std::endl;
std::cout << "C way: strcmp(string_a, string_b): " <<
(std::strcmp(string_a, string_b) == 0) << std::endl;
std::cout << "C way: strcmp(string_a, string_c): " <<
(std::strcmp(string_a, string_c) == 0) << std::endl;
std::cout << "\n";
std::string string_d = "bar";
std::string string_e = "bar";
std::string string_f = "dar";
std::string string_g = "bar\0hello";
std::string string_h = "ba\0hello";
std::cout << "The C++ way for String: string_d == string_e: " <<
(string_d == string_e) << std::endl;
std::cout << "The C++ way: strcmp(string_d, string_e): " <<
(std::strcmp(string_d.c_str(), string_e.c_str()) == 0) << std::endl;
std::cout << "The C++ way: string_d.compare(string_e): " <<
(string_d.compare(string_e) == 0) << std::endl;
std::cout << "The C++ way: string_d.compare(string_f): " <<
(string_d.compare(string_f) < 0) << std::endl;
std::cout << "The C++ way: string_d.compare(string_g): " <<
(string_d.compare(string_g) == 0) << std::endl;
std::cout << "The C++ way: string_d.compare(string_h): " <<
(string_d.compare(string_h) == 0);
return 0;
}