2013-10-27 2 views
0

Я ищу это, и я не смог найти ничего, что могло бы мне помочь. Я думаю, что это просто, что мне нужно сделать, это показать общие папки в моей сети, используя библиотеки boost.повысить файловую систему, как получить доступ к общим папкам

Например

std::string dir = "/home/user"; 
for (boost::filesystem::directory_iterator it(dir), end; it!=end; it++) 
    if (boost::filesystem::is_directory(*it)) 
     cout << it->path().filename().generic_string(); 

Это показывает мне все папки в пути "/home/user". Вопрос в том, что есть dir, который мне нужно использовать для отображения моих общих папок в моей сети? Я пробую "\\", "\\my_pc_name", "\\Workgroup", но я понятия не имею, и я не знаю, смогу ли я сделать это таким образом. Спасибо.

ответ

0

Я полагаю из вашего вопроса, что вы находитесь в Linux, и папки, к которым вы пытаетесь получить доступ, находятся в общей папке Windows. Вы не можете получить к ним доступ напрямую - вам нужно смонтировать их, используя что-то вроде smbfs. See this answer для более.

+0

Да, я нахожусь в Linux и пытаюсь получить доступ к общему ресурсу Windows, но мне тоже нужно сделать это в Windows, но когда я это сделаю первым. Я ищу способ, который работает в Linux и Windows. Теперь я начинаю. Спасибо за ваш ответ, я вижу ссылку. – Safej

+0

В Windows вы можете напрямую получить доступ к пути (или, таким образом, [эта ссылка] (http://www.cplusplus.com/forum/general/50546/), у меня нет окна с Windows). –

+0

Я видел в файле '/ proc/mounts', что есть смонтированные диски. Если я монтирую общую папку, я могу использовать этот путь с boost :: filesystem, и он работает. Существуют ли какие-либо способы монтировать общую папку и использовать ее таким образом? Я видел команду 'mount' в C++' ', но я не знаю, как ее использовать, а системная команда' mount' нуждается в доступе администратора для ее использования. – Safej

Смежные вопросы