Не могу понять что делает код
Может кто догадается ?bool logTrName_s::isData(string _data) {
string dd = _data + " ";
if(strncmp(dd.c_str(), data.c_str(), dd.length()) == 0) return TRUE;dd = _data + string("\t");
if(strncmp(dd.c_str(), data.c_str(), dd.length()) == 0) return TRUE;dd = string(" ") + _data;
int ind = data.length()-dd.length();
if(ind >= 0) {if(strncmp(dd.c_str(), &data.c_str()[ind], dd.length()) == 0) return TRUE;
}dd = string("\t") + _data;
if(ind >= 0 && strncmp(dd.c_str(), &data.c_str()[ind], dd.length()) == 0)
return TRUE;dd = string(" ") + _data + string(" ");
const char *c = strstr(data.c_str(), dd.c_str());if(c) return TRUE;
dd = string("\t") + _data + string("\t");
c = strstr(data.c_str(), dd.c_str());
if(c) return TRUE;dd = string(" ") + _data + string("\t");
c = strstr(data.c_str(), dd.c_str());
if(c) return TRUE;dd = string("\t") + _data + string(" ");
c = strstr(data.c_str(), dd.c_str());
if(c) return TRUE;return FALSE;
};
>Не могу понять что делает код
>Может кто догадается ?
>
всего лишь проверяет эквивалентность строки _data с внутренней строкой объекта data.
Эквивалентность определяется содержимым которым не являются пробелы и табуляции в начале и конце. Поскольку этому лузеру лень было сразу выкинуть из data эти символы при его заполнении, а регулярных выражений он не знает, вот и пытается перебрать все возомжные варианты.
>>Не могу понять что делает код
>>Может кто догадается ?
>>
>всего лишь проверяет эквивалентность строки _data с внутренней строкой объекта data.
>Эквивалентность определяется содержимым которым не являются пробелы и табуляции в начале и
>конце. Поскольку этому лузеру лень было сразу выкинуть из data эти
>символы при его заполнении, а регулярных выражений он не знает, вот
>и пытается перебрать все возомжные варианты.да , я сразу не заметил _data и data