const char* it_ptr = _filename;
const char* point_ptr = _filename;
while (*++it_ptr)
if (*point_ptr == '.')
point_ptr = it_ptr;
return (point_ptr == _filename ? 0 : point_ptr);
}
Разве такой алгоритм будет вообще работать? У тебя же point_ptr остаётся без изменений, т.е. если _filename != '.', то условие внутри while всегда будет возвращать false
Не проще будет реализовать это так: std::string fileExtension(const std::string& file) { std::size_t found = file.find_last_of("."); if (found == std::string::npos) { return { "" }; } return file.substr(found + 1u); } ?
чо за хня, где std::string и std::find?
это какой-то говноси
Обсуждают сегодня