Совсем не сложно:
Оригинальный ответ (вероятно, это то, что вас интересует):
char str[] = "7.8.9.1.5.1.1";
atoi(strrchr(str, '.') + 1);
Более полно, но не настолько полно:
char str[] = "7.8.9.1.5.1.1"; //example
char *tmp = NULL;
tmp = strrchr(str, '.');
if(tmp){
*tmp = '\0';
if(!strcmp(str, "7.8.9.1.5.1")) //check for prefix
return atoi(tmp+1);
}
Как вы можете видеть, я также попытался добавить некоторые проверки работоспособности и быть более безопасным, чем этот, чтобы иметь более полное представление о предполагаемых ожиданиях и о том, как передаются строки.Так что для простоты я буду придерживаться этого простого случая и примера реализации.: -)