В настоящее время я работаю над кодом и пытаюсь использовать оператор if для переменной, которая была взята из файла .txt со строкой c. Он должен выглядеть как
if (a.variable == "string") {}
Когда я использую
std::cout << a.variable << std::endl;
std::cout << "string" << std::endl;
, я получаю те же результаты, но при использовании
std::cout << typeid(a.variable).name() << std::endl;
std::cout << typeid("string").name() << std::endl;
я получаю разные результаты:
NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
и
A5_ c.
Может ли это быть причиной сбоя оператора if? Если я не ошибаюсь, первый typeid обозначает базовую строку c. Я благодарен за любой ввод!
Код, который я использую для чтения, выглядит так:
std::string::size_type beginoption = section.find("=",position);
beginoption = beginoption +1;
std::string::size_type endoption = section.find("\n",position);
optionstorage = section.substr(beginoption, endoption - beginoption);