Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/12: Рейтинг темы: голосов - 12, средняя оценка - 4.83
1 / 1 / 1
Регистрация: 04.04.2010
Сообщений: 57
1

Вывод на экран список файлов и название программ С++ , находящимся в указанном при запуске программы каталоге

01.05.2010, 13:43. Просмотров 2423. Ответов 8
Метки нет (Все метки)

Добрый день!

Помогите пожалуйста:

Написать программу, которая выведет на экран список файлов и название программ С++ , находящимся в указанном при запуске программы каталоге.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.05.2010, 13:43
Ответы с готовыми решениями:

Список файлов в указанном каталоге
Использую функцию FindFirstFile: hf = FindFirstFile(L"c:\\folder\\*", &FindFileData); Такой...

Получить список файлов в указанном каталоге
Как получить список файлов в указаном каталоге? И находить файлы с указаным расширением или именем?...

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

Проверка наличия на диске в указанном каталоге перечисленных в списке файлов и вывод имен отсутствующих
Проверка наличия на диске в каталоге, указанном первым параметром КФ файла FNames.txt, содержащего...

8
230 / 60 / 17
Регистрация: 11.03.2010
Сообщений: 294
01.05.2010, 16:33 2
хм... а как насчет задейстовать командную строку ?
C++
1
system("dir /a");
вбей в командной строке:
Код
dir /?
может еще что-то интересное потберешь...
через WinApi не пробовал... нужно посмотреть в мсдн...
0
1 / 1 / 1
Регистрация: 04.04.2010
Сообщений: 57
01.05.2010, 17:43  [ТС] 3
А по подробнее можно?
0
230 / 60 / 17
Регистрация: 11.03.2010
Сообщений: 294
01.05.2010, 17:56 4
ну функция system() это ведь как-бы командная строка))
0
1 / 1 / 1
Регистрация: 04.04.2010
Сообщений: 57
02.05.2010, 08:58  [ТС] 5
я кое какой исходник нашел по моей теме, только он не пашет:

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
#include <stdio.h>
#include <dir.h>
#include <string.h>
#include <conio.h>
void main(int argc,char *argv[])
{
     struct ffblk ffblk;
     int done;
     FILE *in;
     int n;
     char mask[MAXPATH];
     char infile[MAXPATH];
     char outfile[MAXPATH];
     if (argc<2)
     {
                puts("V komandnoi stroke ne zadan put");
                puts("k obrabativaemim failam");
                printf("komandnaia stroka: %s path\\\n", argv[0]);
                return;
     }
     printf("\n Postroenie spiska failov \n");
     strcpy(mask, argv[1]);
     strcat(mask,"*.cpp");
     strcpy(outfile, argv[1]);
     strcat(outfile,"file list.txt");
     printf("Obrabotka: %s", mask);
     n=0;
     done=findfirst(mask, &ffblk,0);
     while(!done)
     { n++;
     #ifdef DEBUG
     printf ("%s", ffblk.ff_name);
     #endif
     strcpy(infile, argv[1]);
     strcat(infile, ffblk.ff_name);
     if ((in=fopen(infile,"rt"))!=NULL)
     {
                 char st[80];
                 fgets(st,80,in);
                 printf("%s %s", infile,st);
                 fclose(in);
     }
     done=findnext(&ffblk);
     }
     printf("\n Obrabotka failov: %d\n", n);
     printf("Dlia zavershenia nazhmite <Enter>");
     getch();
}
Добавлено через 9 часов 34 минуты
Она даже не запускается, но хотя в каталоге с++ компилятор ее создал. Запускаю, там черный экран
(ничего не делает) и выходит и никаких действий не произошло. Что делать? Помогите пожалуйста...
0
230 / 60 / 17
Регистрация: 11.03.2010
Сообщений: 294
02.05.2010, 10:01 6
может из-за этого не хочет работать корректно?
C++
1
struct ffblk ffblk;
у тебя тип переменной и ее имя носят одно и то же имя...
0
1 / 1 / 1
Регистрация: 04.04.2010
Сообщений: 57
02.05.2010, 10:27  [ТС] 7
и что с ним делать?
0
230 / 60 / 17
Регистрация: 11.03.2010
Сообщений: 294
02.05.2010, 10:30 8
а где собственно эта структура объявлена ?
0
1 / 1 / 1
Регистрация: 04.04.2010
Сообщений: 57
03.05.2010, 14:10  [ТС] 9
Хотя бы подскажите как произвести чтение каталога

Добавлено через 10 часов 37 минут
struct ffblk ffblk; - это информация о файле

вот прокоментированный исходник:
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
#include <stdio.h>
#include <dir.h>
#include <string.h>
#include <conio.h>
//#define DEBUG // режим отладки
//в качестве параметра программе передается
//имя каталога, список файлов которого надо вывести
void main(int argc,char *argv[])
{
         struct ffblk ffblk;// информация о файле
         int done;
         FILE *in;//файл программы
         int n;//обработано файлов
         char mask[MAXPATH];
         char infile[MAXPATH];
         char outfile[MAXPATH];
         if (argc<2)
         {
                                puts("V komandnoi stroke ne zadan put");
                                puts("k obrabativaemim failam");
                                printf("komandnaia stroka: %s path\\\n", argv[0]);
                                return;
         }
         printf("\n Postroenie spiska failov \n");
 
         //маска обрабатываемых файлов
         strcpy(mask, argv[1]);
         strcat(mask,"*.cpp");
 
         //файл-список обрабатываемых файлов
         strcpy(outfile, argv[1]);
         strcat(outfile,"file list.txt");
         printf("Obrabotka: %s", mask);
         n=0;
         done=findfirst(mask, &ffblk,0);
         while(!done)
         { n++;
         #ifdef DEBUG
         printf ("%s", ffblk.ff_name);
         #endif
         strcpy(infile, argv[1]);
         strcat(infile, ffblk.ff_name);
         if ((in=fopen(infile,"rt"))!=NULL)
         {
                 //читаем из файла первую строку
                                 char st[80];
                                 fgets(st,80,in);
                                 printf("%s %s", infile,st);
                                 fclose(in);
         }
         done=findnext(&ffblk);//выбрать следующий файл
         }
         printf("\n Obrabotka failov: %d\n", n);
         printf("Dlia zavershenia nazhmite <Enter>");
         getch();
}
Вопрос остается прежний...

Добавлено через 1 час 18 минут
А куда надо указывать путь к каталогу. Прога путь требует

Добавлено через 13 часов 27 минут
Подскажите пожалуйста, куда надо указать путь к каталогу...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.05.2010, 14:10

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

Создать командный файл, который выводит на экран только число, равное количеству файлов в указанном каталоге
Создайте командный файл, который выводит на экран только число, равное количеству файлов в...

Определить количество файлов с указанным расширением, находящимся в заданном каталоге
Определить количество файлов с указанным расширением, находящимся в заданном каталоге. Если таких...

Поиск указанных файлов на указанном диске и вывод результата на экран
Всем привет, я здесь впервые,и вот возник такой вопрос Для поиска файлов и выведения на экран я...

Выбор файлов изображений в указанном каталоге
помогите написать путь пожалуйста к папке

Получить список всех поддиректорий в указанном каталоге
Помогите создать список подпапок в текущей папке. Мой код не помогает Dim a a = Dir(CurDir,...

Считывать все названия файлов в указанном каталоге
Доброго времени суток всем. Столкнулся с такой проблемой: Есть у меня папка с файлами, нужна...


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

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

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