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

Чтение скрытых файлов

30.06.2012, 15:19. Показов 2381. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как используя с++ написать программу которая будет выводить список скрытых файлов (начинающихся с точки) ,находящихся в текущем каталоге. Программа работает через терминал. Если можно приведите простой пример
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.06.2012, 15:19
Ответы с готовыми решениями:

Linux. Подсчитать количество скрытых файлов
Программа подсчитывающая количество скрытых файлов в домашнем каталоге пользователя. Поиск без захода в подкаталоги, скрытые каталоги не...

Удаление скрытых файлов
#include <System.IOUtils.hpp> if(TDirectory::Exists("%ProgramData%\\MP")) TDirectory::Delete("%ProgramData%\\MP", true);//Папка удаляться...

Вывести на экран в виде таблицы атрибуты всех скрытых файлов
Имеется перечень файлов, каждый из которых задан своими атрибутами: имя, размер в байтах, скрытый, только для чтения, архивный. Вывести на...

8
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
30.06.2012, 19:46
Цитата Сообщение от Kvint Посмотреть сообщение
Как используя с++ написать программу которая будет выводить список скрытых файлов
так же, как и список не скрытых.
дерзай
0
0 / 0 / 0
Регистрация: 30.06.2012
Сообщений: 26
01.07.2012, 11:24  [ТС]
мм.. не пойму, мне нужно чтобы при получении одной опции прога выдавала список файлов начинающихся с точки а при введении другой опции выдавала список остальных обычных файлов
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
01.07.2012, 12:49
и что?
напиши код чтения нескрытых файлов. покажу что изменить для скрытых.
0
0 / 0 / 0
Регистрация: 30.06.2012
Сообщений: 26
01.07.2012, 21:22  [ТС]
ну вот допустим небольшая прога просто выводит содержимое каталога, а при параметре -l выдает информацию о этих файлах, мне нужно добавить еще два параметра чтобы он кроме обычных файлов писал и скрытые

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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include <iostream>
#include <stdio.h>
#include <dirent.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>
using namespace std;
int main(int argc, char** argv)
{int i,j;
 int lflg=0, space=1;  
 DIR *dfd;
 struct dirent *dp;
 struct stat s;
 char *ptype;
 char filename[NAME_MAX];
 
for(i=1;i<argc;i++)
{for(j=0;argv[i][j]!=NULL;j++)
 {if(argv[i][0]=='-')
  switch (argv[i][j])
  {
  case 'l': lflg=1; break;
  case '-': break;      
  default: cout<<"error of ARG"; break;
  } 
 
 
if(lflg==1)
 {if(argc<4)
     strcpy(filename, ".");
     else
     strcpy(filename, argv[1]);
     printf("%s\n\n", filename);
     dfd=opendir(filename);
 
     while( (dp=readdir(dfd)) != NULL )
     {       printf("%s\n", dp->d_name);
             lstat(argv[1], &s);
             space=0;              
             /*type of file*/
             printf("type = %s\t", ptype);
             /*rights of acess*/
             printf("perm = %o\t", s.st_mode);
             /*number of inode*/
             printf("inode = %d\t", s.st_ino);
             /*number of links*/
             printf("nlink = %d\t", s.st_nlink);
             /*the device where is data of file*/
             printf("dev = (%d, %d) \t", major(s.st_dev), minor(s.st_dev));
             /*the owners of file*/
             printf("UID = %d\t", s.st_uid);
             printf("GID = %d\t", s.st_gid);
             /*size of file*/
             printf("size = %d\n", s.st_size);
     }
 }
 
 
 }
}
 
if (space==1)
{
if(argc<4)
     strcpy(filename, ".");
     else
     strcpy(filename, argv[1]);
     printf("%s\n\n", filename);
     dfd=opendir(filename);
while( (dp=readdir(dfd)) != NULL )
             {printf("%s\n", dp->d_name);
             lstat(argv[1], &s);}
} 
         
closedir(dfd);
return 0;
}
Добавлено через 10 секунд
ну вот допустим небольшая прога просто выводит содержимое каталога, а при параметре -l выдает информацию о этих файлах, мне нужно добавить еще два параметра чтобы он кроме обычных файлов писал и скрытые

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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include <iostream>
#include <stdio.h>
#include <dirent.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>
using namespace std;
int main(int argc, char** argv)
{int i,j;
 int lflg=0, space=1;  
 DIR *dfd;
 struct dirent *dp;
 struct stat s;
 char *ptype;
 char filename[NAME_MAX];
 
for(i=1;i<argc;i++)
{for(j=0;argv[i][j]!=NULL;j++)
 {if(argv[i][0]=='-')
  switch (argv[i][j])
  {
  case 'l': lflg=1; break;
  case '-': break;      
  default: cout<<"error of ARG"; break;
  } 
 
 
if(lflg==1)
 {if(argc<4)
     strcpy(filename, ".");
     else
     strcpy(filename, argv[1]);
     printf("%s\n\n", filename);
     dfd=opendir(filename);
 
     while( (dp=readdir(dfd)) != NULL )
     {       printf("%s\n", dp->d_name);
             lstat(argv[1], &s);
             space=0;              
             /*type of file*/
             printf("type = %s\t", ptype);
             /*rights of acess*/
             printf("perm = %o\t", s.st_mode);
             /*number of inode*/
             printf("inode = %d\t", s.st_ino);
             /*number of links*/
             printf("nlink = %d\t", s.st_nlink);
             /*the device where is data of file*/
             printf("dev = (%d, %d) \t", major(s.st_dev), minor(s.st_dev));
             /*the owners of file*/
             printf("UID = %d\t", s.st_uid);
             printf("GID = %d\t", s.st_gid);
             /*size of file*/
             printf("size = %d\n", s.st_size);
     }
 }
 
 
 }
}
 
if (space==1)
{
if(argc<4)
     strcpy(filename, ".");
     else
     strcpy(filename, argv[1]);
     printf("%s\n\n", filename);
     dfd=opendir(filename);
while( (dp=readdir(dfd)) != NULL )
             {printf("%s\n", dp->d_name);
             lstat(argv[1], &s);}
} 
         
closedir(dfd);
return 0;
}
0
387 / 151 / 16
Регистрация: 12.05.2011
Сообщений: 450
01.07.2012, 21:29
ну а теперь прежде чем печатать имя файла проверяй, есть ли у него первым символом точка. если нет, то пропускай его.
1
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
01.07.2012, 21:32
Цитата Сообщение от Kvint Посмотреть сообщение
printf("%s\n", dp->d_name);
разве эта строка не выводит имена файлов начинающихся с точки?

Добавлено через 25 секунд
Kvint, отредактируй пост.
1
0 / 0 / 0
Регистрация: 30.06.2012
Сообщений: 26
02.07.2012, 01:20  [ТС]
ага, все сообразил, спасибо
---
niXman, не могу уже отредактировать, только в первые десять минуть разрешено

Добавлено через 3 часа 30 минут
так.. а как проверить есть ли у файла точка в начале или нет?
0
387 / 151 / 16
Регистрация: 12.05.2011
Сообщений: 450
02.07.2012, 07:50
C++
1
if(dp->d_name[0] == '.') printf("%s\n", dp->d_name);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.07.2012, 07:50
Помогаю со студенческими работами здесь

Как узнать и изменить режим отображения скрытых и системных файлов в Windows?
Как узнать, какой режим отображения скрытых и системных файлов установлен в настройках Windows? Как его изменить?

Отключить отображения расширения файлов и скрытых системных файлов
Как средствами delphi можно отключить отображения расширения файлов и скрытых системных файлов?

Поиск файлов на диске, за исключением скрытых файлов и папок
Часть кода, желательно использовать её. DirectoryInfo Di = new DirectoryInfo(@&quot;F:&quot;); foreach (FileInfo FileInfo in...

Отображение скрытых файлов
Здравствуйте. У меня винда 7 домашняя базовая скрыл однажды я один файл, а назад сделать его видимым не могу. В ХP или в других версиях...

Архивация скрытых файлов
Достаточно долго пытаюсь решить данную мне задачу. Но, не получается. В интернете тоже не могу найти. С помощью VBScript необходимо...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru