- Используйте библиотеку SSH, например
libssh
. - Включает API для
SFTP
и SCP
, которые являются компонентами управления файлами SSH. - Здесь доступно руководство:
На этой связанной странице приведен пример кода для «Перечисления содержимого каталога».
Я бы хотел добиться этого без использования каких-либо нестандартных библиотек.
Это просто невозможно.В то время как библиотеки, включенные в ваш дистрибутив Linux (включая исходные заголовочные файлы и связанные с ними двоичные объекты), вероятно, do включают libssh
из-за его повсеместного распространения, они не являются "стандартными", поскольку стандартная библиотека C неупомянуть SSH / SFTP (или даже иметь API файловой системы!), а также POSIX.
SSH (и SFTP) является относительно новым протоколом - он был создан только в 1995 году и не получил широкого распространения дов конце 1990-х (люди все еще использовали rlogin
, rsh
, стандартный FTP или даже TELNET) - ему предшествовали FTP, HTTP, SMTP и SSL / TLS.
(Помните, что C оченьминимальный - я считаю, что это язык, используемый для манипулирования и перебора памяти - все остальное, даже системные вызовы, не являются частью стандарта C - вот почему вы можете скомпилировать C в JavaScript, например, вы просто не можете сделатьчто-нибудь веселое, потому что вы не можете syscall из JavaScript)