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

Файловая система ос linux

23.10.2017, 20:35. Показов 1074. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Цель работы. Ознакомиться с файловой системой ОС LINUX, механизмами её функционирования, основными элементами файловой системы: суперблок, описатели файлов, типы файлов, список свободных описателей файлов, список свободных блоков.
Задание:Разработать программу, которая выводит на экран содержимое текущего каталога, упорядоченное по времени модификации файлов.
это то что смогла сделать помогите реализовать его до конца очень нужно до 29.10.17
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <iostream>
#include <time.h>
#include <cstring>
 
using namespace std;
 
struct TIME_{
    char name[100];
    time_t mtime;
};
void snp(TIME_& a, TIME_& b){
    TIME_ t=a;
    a=b;
    b=t;
}
int main ()
{
    DIR *dp;
    struct dirent *di;
    struct stat buf;
    di=new struct dirent;
    TIME_ t[100];
    dp=opendir(".");
    int i=0;
    while (di=readdir(dp)){
        stat(di->d_name, &buf);
        strcpy(t[i].name,di->d_name);
        t[i].mtime=buf.st_mtime;
        cout<<t[i].name<<" "<<t[i].mtime<<endl;
        i=i+1;
    }
    int k, n=i;
    for(int i=0; i<n-1; i++){
        k=i;
        for(int j=i+1; j<n; j++)
            if(t[k].mtime<t[j].mtime) k=j;
            if(k!=i)
            snp(t[i],t[k]);
    }
        cout<<t[i].name<<" "<<t[i].mtime<<endl;
    closedir(dp);
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.10.2017, 20:35
Ответы с готовыми решениями:

Файловая система UNIX
Намасте, уважаемые :) Помогите, кто может, знакомой для допуска нужна программка... дословно: &quot;программа, которая выводит в файл...

Файловая система Юникс. Си
Здравствуйте!В убунту на Си нужно написать программу, которая бы считывала из входного файла байты с N1 по N2 и с N3 по N4 и записывала эти...

Файловая система UNIX. Примитивы доступа к файлам
Доброго время суток) Суть задания: Нужно написать программу, которая делит большой файл на куски заданного размера (не в строках, а в...

7
1265 / 979 / 384
Регистрация: 02.09.2012
Сообщений: 3,026
24.10.2017, 12:29
Между 42 и 43 строками логически не хватает цикла из строчки 36
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
26.10.2017, 18:39
Может просто вызвать

Bash
1
ls -ltr
и вять результаты?

Пример тут: https://stackoverflow.com/ques... get-output
0
0 / 0 / 0
Регистрация: 29.06.2016
Сообщений: 53
29.10.2017, 19:19  [ТС]
нельзя нужно в самой программе его вызвать
0
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,924
29.10.2017, 21:49
C
1
system("ls -ltr");
0
 Аватар для peter_irich
367 / 223 / 53
Регистрация: 18.10.2017
Сообщений: 2,387
29.10.2017, 22:41
COKPOWEHEU,
int scandir(const char *dirp, struct dirent ***namelist, int (*filter)(const struct dirent *),
int (*compar)(const struct dirent **, const struct dirent **));
в "man scandir" и пример есть.
0
0 / 0 / 0
Регистрация: 29.06.2016
Сообщений: 53
30.10.2017, 16:38  [ТС]
Сегодня наконец то закончила программа работает правильно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <iostream>
#include <time.h>
#include <cstring>
#include <ctime>
 
using namespace std;
 
struct TIME_{
    char name[100];
    time_t mtime;
};
void snp(TIME_& a, TIME_& b){
    TIME_ t=a;
    a=b;
    b=t;
}
int main ()
{
    DIR *dp;
    char Chtime[30];
    struct dirent *di;
    struct stat buf;
    di=new struct dirent;
    TIME_ t[100];
    dp=opendir(".");
    int i=0;
    while (di=readdir(dp)){
        if((strcmp(di->d_name, ".")!=0)&&(strcmp(di->d_name, "..")!=0)){
        stat(di->d_name, &buf);
        strcpy(t[i].name,di->d_name);
        t[i].mtime=buf.st_mtime;
            i=i+1;
    }
}
    int k, n=i;
    for(int i=0; i<n-1; i++){
        k=i;
        for(int j=i+1; j<n; j++)
            if(t[k].mtime>t[j].mtime) k=j;
            if(k!=i)
            snp(t[i],t[k]);
    }
    for(int i=0; i<n; i++){
        strcpy(Chtime, ctime(&t[i].mtime));
        cout<<t[i].name<<" "<<Chtime<<endl;
    }
closedir(dp);
return 0;
}
Добавлено через 15 секунд
Сегодня наконец то закончила программа работает правильно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <iostream>
#include <time.h>
#include <cstring>
#include <ctime>
 
using namespace std;
 
struct TIME_{
    char name[100];
    time_t mtime;
};
void snp(TIME_& a, TIME_& b){
    TIME_ t=a;
    a=b;
    b=t;
}
int main ()
{
    DIR *dp;
    char Chtime[30];
    struct dirent *di;
    struct stat buf;
    di=new struct dirent;
    TIME_ t[100];
    dp=opendir(".");
    int i=0;
    while (di=readdir(dp)){
        if((strcmp(di->d_name, ".")!=0)&&(strcmp(di->d_name, "..")!=0)){
        stat(di->d_name, &buf);
        strcpy(t[i].name,di->d_name);
        t[i].mtime=buf.st_mtime;
            i=i+1;
    }
}
    int k, n=i;
    for(int i=0; i<n-1; i++){
        k=i;
        for(int j=i+1; j<n; j++)
            if(t[k].mtime>t[j].mtime) k=j;
            if(k!=i)
            snp(t[i],t[k]);
    }
    for(int i=0; i<n; i++){
        strcpy(Chtime, ctime(&t[i].mtime));
        cout<<t[i].name<<" "<<Chtime<<endl;
    }
closedir(dp);
return 0;
}
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
30.10.2017, 16:51
Bon-bonu, этот код не скомпилируется сишным компилятором т.к. содержит конструкции С++.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.10.2017, 16:51
Помогаю со студенческими работами здесь

Файловая система/каталоги
Ребята..помогите..не могу найти/написать код. Нужно вычислить каталоги пользователя. Откуда или как взять эти данные? Пишу программку на...

Файловая система и система управления вводом-выводом в ОС Linux
Дали задание написать вот что: &quot;Разработать программу, которая выводит на экран содержимое текущего каталога, упорядоченное по времени...

Файловая система Linux
Какие действия нужно произвести чтобы каталог SAMBA стал доступен новому пользователю test. share comment = =) ...

Linux mint 17 файловая система защищена от записи
Добрый день всем. Проблема такая: при запуске любого приложения выскакивает сообщение наподобие этого Cannot overwrite file...

Файловая система
Дан каталог, в нем 3 любых файла. Нужно вывести список файлов(имя файла, размер), отсортированный по размеру по убыванию.


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru