Предотвращение исключений вне диапазона при обрезке в C++
Я пытаюсь обрезать строки, которые я прочитал из файла. Я читаю строку, урезаю ее и делаю с ней все. Когда я читаю файл, я в конце концов достигаю конца, что означает, что endpos+1 приводит к исключению вне диапазона.
Каков будет "лучший" способ решения этой проблемы? Ниже мой код обрезки.
size_t startpos = num.find_first_not_of(" ");
size_t endpos = num.find_last_not_of(" ");
num = num.substr(startpos, endpos-startpos+1); //out of range on final string read from file
Моя идея состояла бы в том, чтобы использовать для этого блок try-catch, но это кажется очень новичком (в конце концов, я один!)
Спасибо!