Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2014, 14:42   #1
DanZ
Пользователь
 
Регистрация: 31.01.2014
Сообщений: 52
Сообщение Работа с файлами

Как на Си проверить какие файлы находятся в папке и создать отличный от них?
И еще, вот у меня один компьютер является как бы сервером, есть сетевой диск на котором хранятся определенные файлы, другие компьютеры подключены к нему через вай-фай ну и естественно подключены к сетевому диску, дак вот, а можно на языке Си организовать подключение к этому сетевому диску и работой с файлами на этом диске(то есть подключение к общей сетевой папке автоматически, без вмешательства пользователя)?
DanZ вне форума Ответить с цитированием
Старый 03.04.2014, 16:41   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
то есть подключение к общей сетевой папке автоматически, без вмешательства пользователя
А что тут требуется от "вмешательства пользователя" кроме тыкнуть на папку и, может быть, ввести логин/пароль?

А теперь включаем мозг: можно ли без пользователя указать путь? а логин/пароль?
p51x вне форума Ответить с цитированием
Старый 03.04.2014, 16:50   #3
DanZ
Пользователь
 
Регистрация: 31.01.2014
Сообщений: 52
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
А что тут требуется от "вмешательства пользователя" кроме тыкнуть на папку и, может быть, ввести логин/пароль?

А теперь включаем мозг: можно ли без пользователя указать путь? а логин/пароль?
хорошо логин и пороль не надо(т.к. уже подключено к сети, а папка в общем доступе не запаролена).
Тогда поставлю вопрос по другому, из чего состоит адрес папки в сетевом окружение(для ПК подключенному к этому окружению)?
Понятно что прежде всего адрес компьютера-сервера а потом уже имя компьютера и папка. Но как это выглядит?
DanZ вне форума Ответить с цитированием
Старый 03.04.2014, 18:07   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

так это выглядит:
\\192.168.50.210\Server
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.04.2014, 22:16   #5
DanZ
Пользователь
 
Регистрация: 31.01.2014
Сообщений: 52
По умолчанию

Ну все я разобрался садресом,все как надо работает и выглядит это так \\Имя-ПК-Сервера\папка\папка и т.д. ну и все работат.
Только одно не ясно как проверить как файлы находятся в папке? т.е. нужно узнать как они называются и например вывести их названия
DanZ вне форума Ответить с цитированием
Старый 04.04.2014, 07:09   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Только одно не ясно как проверить как файлы находятся в папке? т.е. нужно узнать как они называются и например вывести их названия
гугл - получить список файлов в папке|директории
p51x вне форума Ответить с цитированием
Старый 04.04.2014, 11:44   #7
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от DanZ Посмотреть сообщение
Ну все я разобрался садресом,все как надо работает и выглядит это так \\Имя-ПК-Сервера\папка\папка и т.д. ну и все работат.
Только одно не ясно как проверить как файлы находятся в папке? т.е. нужно узнать как они называются и например вывести их названия
Для сканирования каталогов рекомендую вам использовать boost-filesystem

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

Поэтому, привыкнуть к этой библиотеке лучше заранее.

Тем более, что она очень простая и удобная:

http://rextester.com/HUV66703

Код:
#include <iostream>
using namespace std;

#include <boost/filesystem.hpp>
namespace fs = boost::filesystem;




int main()
{

    cout<<"WELLCOME TO EXAMPLE APPLICATION!\n";
    
    fs::path p = fs::current_path();

    std::vector< fs::path > files;
    std::copy( fs::directory_iterator(p), fs::directory_iterator(), std::back_inserter(files) );
    std::copy( files.begin(), files.end(), std::ostream_iterator< fs::path > (std::cout, "\n") );

}
В качестве закрепительной задачи предлагаю вам просканировать каталоги вот этого самого онлайн компилятора по ссылке выше.
Например, глянем, как там у них онлайн проекты вообще хранятся?

http://rextester.com/RUSSP73207

Последний раз редактировалось _Bers; 04.04.2014 в 11:50.
_Bers вне форума Ответить с цитированием
Старый 04.04.2014, 21:48   #8
DanZ
Пользователь
 
Регистрация: 31.01.2014
Сообщений: 52
По умолчанию

Цитата:
Сообщение от _Bers Посмотреть сообщение
Для сканирования каталогов рекомендую вам использовать boost-filesystem

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

Поэтому, привыкнуть к этой библиотеке лучше заранее.

Тем более, что она очень простая и удобная:

http://rextester.com/HUV66703

Код:
#include <iostream>
using namespace std;

#include <boost/filesystem.hpp>
namespace fs = boost::filesystem;




int main()
{

    cout<<"WELLCOME TO EXAMPLE APPLICATION!\n";
    
    fs::path p = fs::current_path();

    std::vector< fs::path > files;
    std::copy( fs::directory_iterator(p), fs::directory_iterator(), std::back_inserter(files) );
    std::copy( files.begin(), files.end(), std::ostream_iterator< fs::path > (std::cout, "\n") );

}
В качестве закрепительной задачи предлагаю вам просканировать каталоги вот этого самого онлайн компилятора по ссылке выше.
Например, глянем, как там у них онлайн проекты вообще хранятся?

http://rextester.com/RUSSP73207
Дак это С++ а я просил на Си(в самом первом сообщении)
DanZ вне форума Ответить с цитированием
Старый 05.04.2014, 00:02   #9
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

#include<dirent.h>

It comes with C POSIX library.

Turbo C++ (DOS)
GCC (Cross-platform)
MinGW (Microsoft Windows)
Borland C++ Builder (Microsoft Windows)

Microsoft Visual C++ does not include dirent.h


free Windows implementation of dirent.h
http://www.softagalleria.net/dirent.php
_Bers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами prem1era Общие вопросы C/C++ 1 05.12.2013 13:13
Работа с файлами Андрей77777 Паскаль, Turbo Pascal, PascalABC.NET 1 28.12.2012 14:51
Работа с файлами KateMM Помощь студентам 4 10.03.2012 21:51
рАБОТА С ФАЙЛАМИ СергейURC Общие вопросы Delphi 8 23.09.2009 15:40