Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 16.03.2016
Сообщений: 17

Создание собственную библиотеку для работы с директориями (Dir)

14.10.2017, 20:23. Показов 1037. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет помогите пожалуйста !
Мне нужно создать собственную библиотеку с нуля которое создает, удаляет, читает ... итд директории без каких либо сторонних библиотек
Посоветуйте пож где можно почитать как манипулировать директориями без помощьи других библиотек
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.10.2017, 20:23
Ответы с готовыми решениями:

Ищется контрол для работы с директориями
Нужен контрол (как в win explorere) который позволяет рыться в дереве каталогов на дисках, желательно что бы он был очень похож на...

Написать собственную библиотеку для заполнения массива (способом указанным в массиве)
#include <stdio.h>///Найти, сколько отрицательных элементов содержит данная матрица в каждом столбце #include <locale.h> #include...

Создайте собственную библиотеку ShopAuto
Создайте собственную библиотеку ShopAuto. Библиотека должна содержать метод, который принимает следующие параметры: название автомобиля,...

15
Заблокирован
14.10.2017, 20:31
man opendir
man readdir
man rename
man unlink
man open
man close
man closedir

и see also этих манов.
0
0 / 0 / 0
Регистрация: 16.03.2016
Сообщений: 17
14.10.2017, 20:52  [ТС]
но там используются другие библиотеки
мне просто интерессно как реализовать например команду mkdir без сторонних библиотек и не смог найти в интернете
0
Заблокирован
15.10.2017, 11:25
Тогда делай syscall напрямую.
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
16.10.2017, 23:22
Цитата Сообщение от armenia-2012 Посмотреть сообщение
но там используются другие библиотеки
Какие другие? Это POSIX API
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
16.10.2017, 23:27
Цитата Сообщение от armenia-2012 Посмотреть сообщение
мне просто интерессно как реализовать например команду mkdir без сторонних библиотек
По большому счёту никак. Каталог может создать только ядро операционной системы. А потому создание каталога не может быть 100% собственным кодом

Цитата Сообщение от armenia-2012 Посмотреть сообщение
но там используются другие библиотеки
"Другие библиотеки" - это стандартные библиотеки, реализующие стандарт Си, которые обязаны быть на любой машине
0
Почетный модератор
 Аватар для Humanoid
11559 / 4353 / 453
Регистрация: 12.06.2008
Сообщений: 12,455
17.10.2017, 00:46
Используйте только системные вызовы... по сути это не библиотечные функции, а обращения к ядру.
Либо ещё большее извращение - использовать только функцию syscall().

Цитата Сообщение от armenia-2012 Посмотреть сообщение
мне просто интерессно как реализовать например команду mkdir без сторонних библиотек
mkdir() - это не библиотечная функция, а системный вызов.
1
30 / 36 / 9
Регистрация: 16.10.2017
Сообщений: 137
17.10.2017, 01:03
Humanoid, формально - это библиотечный вызов функции из glibc.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
17.10.2017, 10:31
Цитата Сообщение от Humanoid Посмотреть сообщение
mkdir() - это не библиотечная функция, а системный вызов
Это библиотечная функция, которая является языковой обёрткой над системным вызовом
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,929
17.10.2017, 15:25
Если желаете чего-то совсем низкоуровневого, можете ковырять файловую систему напрямую. Создаете ее на файле и вперед.
dd if=/dev/zero of=fs.img count=... bs=... skip=...
mkfs fs.img
0
Почетный модератор
 Аватар для Humanoid
11559 / 4353 / 453
Регистрация: 12.06.2008
Сообщений: 12,455
17.10.2017, 18:58
Братец Кролик, Evg, это обёртка, но нового функционала не вносит.
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
17.10.2017, 19:09
Цитата Сообщение от Братец Кролик Посмотреть сообщение
формально - это библиотечный вызов функции из glibc
Формально это вызов POSIX api, а реализована ли поддержка posix'a в ядре или либе значения не имеет.
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
17.10.2017, 19:21
Цитата Сообщение от Humanoid Посмотреть сообщение
но нового функционала не вносит.
Если бы ещё и ТС это понимал
0
30 / 36 / 9
Регистрация: 16.10.2017
Сообщений: 137
17.10.2017, 23:17
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Формально это вызов POSIX api
И это не противоречит тому, что это обычная библиотечная функция.
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
а реализована ли поддержка posix'a в ядре
Функция всегда реализована в библиотеке, а не в ядре. Не неси чепухи. То, что это просто обертка над sysenter с парой проверок, не убирает зависимости.
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
реализована ли поддержка posix'a в ядре или либе значения не имеет.
Для кого? Может, для тебя не имеет. А так, все зависит от задачи. Если задача уменьшить зависимости линковки и исключить код, который часто в себе врапперы содержат, то значение имеет.
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
18.10.2017, 00:23
Цитата Сообщение от Братец Кролик Посмотреть сообщение
Функция всегда реализована в библиотеке, а не в ядре.
Зависит от системы.

Цитата Сообщение от Братец Кролик Посмотреть сообщение
Если задача уменьшить зависимости линковки и исключить код, который часто в себе врапперы содержат, то значение имеет.
Где такая задача стоит?
0
30 / 36 / 9
Регистрация: 16.10.2017
Сообщений: 137
18.10.2017, 00:53
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Зависит от системы.
Приведи, пожалуйста, в пример Linux, в котором вызов функции, вызовет код ядра без промежуточной библиотеки. Спасибо.
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Где такая задача стоит?
Цитата Сообщение от armenia-2012 Посмотреть сообщение
без помощьи других библиотек
libc - вполне себе библиотека. Важна она автору, или нет - это уже другой. Подозреваю, что не важна
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.10.2017, 00:53
Помогаю со студенческими работами здесь

Как создать собственную библиотеку?
А как собственно это сделать? Я выбираю файл - шаблон проекта - библиотека классов. Создается проект и нигде нету файла с расширением dll.

Как защитить собственную библиотеку?
Планируется продавать библиотеку всем, кто захоочет ее купить. Как защититься от умника, который захочет выложить либу на сервер в...

Подключить собственную статическую библиотеку через переменную CONFIG
Всем доброго времени суток, подскажите пожалуйста как подключить свою статическую библиотеку через переменную CONFIG. Желательно пошагово....

Создать собственную библиотеку ввода-вывода строк и их обработки
Создать собственную библиотеку ввода-вывода строк и их обработки: gets, puts, atoi, itoa, reverse (переворачивает строку) Для всех...

Когда имеет смысл создавать собственную динамическую библиотеку с отркытым исходным кодом
Такой вопрос назрел.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru