Я использую TigerVNC для доступа к удаленной машине Linux. На моем текущем пути, если я наберу «pwd», я получу следующие строки, показанные в терниале:
% pwd
/stateflow/devel
[myusername@sb33glnxa64: /stateflow/devel]
%
Прямо сейчас я хочу написать программу для запуска на удаленной машине Linux в каталоге / stateflow / devel / xx, чтобы сохранить файл в этом каталоге, но я попытался установить для filePath либо
"//sb33glnxa64/stateflow/devel/MyLog.txt"
or
"/stateflow/devel/MyLog.txt"
Например:
std::ofstream m_fStream;
std::string filePath("//sb33glnxa64/stateflow/devel/MyLog.txt");
m_fStream.open(filePath.c_str(), std::ofstream::out | std::ofstream::app);
m_fStream << "sMode is " << sMode << std::endl;
m_fStream.close();
Но ни один из них не работает, я не вижу, что файл MyLog.txt был создан в каталоге / stateflow / devel.
Не уверены, какой путь мне следует использовать для установки filePath? Спасибо
Примечание: программа для запуска находится по неизвестному временному пути / stateflow / devel / xx. Вот почему мне нужно знать абсолютный путь, чтобы позже я мог найти и открыть MyLog.txt.
@ lan4264 Спасибо, думал \\ равно / на linux. Я просто попробовал косую черту, но все равно не работает.
Вы пытаетесь создать файл в удаленной системе Linux? Вот почему вы пытались добавить имя хоста в путь?
@ lan4264 Точно, я пытался добавить имя хоста, но все равно не работает
Я подозреваю, что вам понадобится какая-то библиотека, реализующая удаленный протокол, например libssh. (или смонтируйте удаленную файловую систему, внешнюю по отношению к вашей программе)
Что ж, это намного сложнее. Насколько мне известно, автоматического экспорта файловых систем нет. Для этого вам необходимо настроить что-то вроде NFS или SAMBA. Я понятия не имею, насколько это легко или сложно ...
Это может быть полезно: unix.stackexchange.com/questions/62677/…
@ lan4264 @ Galik Извините, я забыл упомянуть: программа также запускается на удаленной машине Linux в подпапке / stateflow / devel. Но подпапка создается во время запуска, и я не знаю имени и точного пути к подпапке. Вот почему мне нужно знать абсолютный путь, чтобы позже я мог найти и открыть MyLog.txt.





Почему вы используете обратную косую черту? В Linux вы используете косую черту, такую как напечатанная pwd