Я написал небольшую программу на C, чтобы получить IP от удаленного пользователя, войти в SSH сессиюКак PRINTF() только первая часть строки
Код:
int main(){
char * getIP ;
getIP = getenv ("SSH_CLIENT");
printf ("%s", getIP);
printf("\n");
return 0;
}
Он прекрасно работает и на выходе у меня есть
shell# ./a.out
192.168.1.33 39840 22
Но я хотел бы напечатать только IP Addr а не остальную часть строки. Я не могу понять, как вырезать строку, чтобы напечатать только первую часть (255.255.255.255)
Я весь поиск решения день, но без успеха:/
Спасибо за любую помощь:)
ОБНОВИТЬ !
я обнаружил, что вместо SSH_CLIENT вы можете использовать RemoteHOST:)
Но решение Larsks очень полезно и стоит вспомнить
GetEnv ("REMOTE_ADDR"); – MilkyWayJoe
@MilkyWayJoe, что заставляет вас думать, что будет переменная 'REMOTE_ADDR'? Это ssh, а не Apache. – larsks