Форум программистов, компьютерный форум, киберфорум
С под Linux
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 29.06.2016
Сообщений: 53
1

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

23.10.2017, 20:35. Просмотров 606. Ответов 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
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.10.2017, 20:35
Ответы с готовыми решениями:

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

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

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

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

7
1031 / 809 / 317
Регистрация: 02.09.2012
Сообщений: 2,463
24.10.2017, 12:29 2
Между 42 и 43 строками логически не хватает цикла из строчки 36
0
display "I'LL BE BACK"
1191 / 818 / 250
Регистрация: 02.04.2009
Сообщений: 3,046
26.10.2017, 18:39 3
Может просто вызвать

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

Пример тут: https://stackoverflow.com/ques... get-output
0
0 / 0 / 0
Регистрация: 29.06.2016
Сообщений: 53
29.10.2017, 19:19  [ТС] 4
нельзя нужно в самой программе его вызвать
0
2747 / 1696 / 350
Регистрация: 09.09.2017
Сообщений: 7,131
29.10.2017, 21:49 5
C
1
system("ls -ltr");
0
110 / 98 / 31
Регистрация: 18.10.2017
Сообщений: 913
29.10.2017, 22:41 6
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  [ТС] 7
Сегодня наконец то закончила программа работает правильно
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Эксперт С++
8164 / 5012 / 1436
Регистрация: 29.11.2010
Сообщений: 13,455
30.10.2017, 16:51 8
Bon-bonu, этот код не скомпилируется сишным компилятором т.к. содержит конструкции С++.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.10.2017, 16:51

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.