Если вы знаете длину строки, вы можете использовать арифметику указателя, чтобы получить строку с последними тремя символами:
const char* mystring = "abc123";
const int len = 6;
const char* substring = mystring + len - 3;
Обратите внимание, что substring
указывает на ту же память, что и mystring
, и действует только до тех пор, пока mystring
действует и остается без изменений. Причина, по которой это работает, заключается в том, что строка c не имеет никаких специальных маркеров в начале, только окончание NULL
в конце.
Я истолковал ваш вопрос как желание трех последних персонажей, избавление от начала, в отличие от того, как Дэвид Хеффернан прочитал его, один из нас явно неправ.