Это зависит от типа соединения между двумя машинами и уровня безопасности, которого вы должны достичь.
Самый простой сценарий будет с двумя машинами в одной локальной сети и без особой защиты. В этом случае возможное решение будет:
Samba : Предоставить общий доступ к каталогу на машине Win, установить / настроить Samba на компьютере с Linux. Программа C увидит общий диск как локальный диск по определенному пути (например, /win/share).
NFS : В качестве альтернативы вы можете экспортировать каталог в Linux с помощью NFS и установить / настроить продукт NFS на компьютере Win. Я вижу это как второй вариант, если Samba не может быть использована по какой-либо причине (например, безопасность / аутентификация).
ftp : вам понадобится ftp-сервер на компьютере с Windows. Также будет сложнее скопировать файл через программу на Си. Если я не ошибаюсь, ftp-клиент в Linux является интерактивным, и его нельзя использовать в скрипте (или в другой программе), но вы должны проверить.
http : вам понадобится http-сервер на компьютере с Windows и страница, которая позволит загружать (IIS плюс некоторая страница asp, должно хватить) и использовать libcurl для диалога с ним.
Более сложный сценарий, когда безопасность представляет собой проблему, потребует использования scp или sftp over и SSL-соединения. Также libcurl с https может обеспечить достаточно хорошее решение.
Мой совет: сначала попробуйте Samba и посмотрите, удовлетворяет ли он вашим потребностям, все остальные варианты потребуют от вас как программиста дополнительной работы.