Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
JM007
0 / 0 / 0
Регистрация: 04.04.2010
Сообщений: 57
#1

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

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

Добрый день!

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

Написать программу, которая выведет на экран список файлов и название программ С++ , находящимся в указанном при запуске программы каталоге.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2010, 13:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывод на экран список файлов и название программ С++ , находящимся в указанном при запуске программы каталоге (C++):

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

Поиск текстовых файлов в заданном каталоге и вывод на экран их имена и свойства - C++
Помогите,пожалуйста нужно срочно для лабораторной создать программу. Программу которая ищет текстовые файлы в заданном каталоге и выводит...

Реализовать поиск в указанном каталоге всех файлов во всех поддиректориях и сформировать XML в нужном формате - C++
Задача: Искать в указанном каталоге все файлы во всех поддиректориях и формировать XML в нужном формате. XML записать в директорию...

Пустой экран при запуске программы - C++
Преподаватель написал программу вот такого вида: #include "stdafx.h" #include "math.h" #include <iostream> #include "iomanip" ...

Получить список файлов в каталоге - C++
Здравствуйте! Мне нужно получить список файлов в каталоге, чтобы потом как-то работать с этими файлами, для начала, отсортировать их по...

Вывести список файлов в каталоге - C++
Напишите программу, которая составляет список файлов, расположенных в каталоге, имя которого задается в командной строке и создает...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Hell Knight
230 / 60 / 3
Регистрация: 11.03.2010
Сообщений: 290
01.05.2010, 16:33 #2
хм... а как насчет задейстовать командную строку ?
C++
1
system("dir /a");
вбей в командной строке:
Код
dir /?
может еще что-то интересное потберешь...
через WinApi не пробовал... нужно посмотреть в мсдн...
0
JM007
0 / 0 / 0
Регистрация: 04.04.2010
Сообщений: 57
01.05.2010, 17:43  [ТС] #3
А по подробнее можно?
0
Hell Knight
230 / 60 / 3
Регистрация: 11.03.2010
Сообщений: 290
01.05.2010, 17:56 #4
ну функция system() это ведь как-бы командная строка))
0
JM007
0 / 0 / 0
Регистрация: 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
Hell Knight
230 / 60 / 3
Регистрация: 11.03.2010
Сообщений: 290
02.05.2010, 10:01 #6
может из-за этого не хочет работать корректно?
C++
1
struct ffblk ffblk;
у тебя тип переменной и ее имя носят одно и то же имя...
0
JM007
0 / 0 / 0
Регистрация: 04.04.2010
Сообщений: 57
02.05.2010, 10:27  [ТС] #7
и что с ним делать?
0
Hell Knight
230 / 60 / 3
Регистрация: 11.03.2010
Сообщений: 290
02.05.2010, 10:30 #8
а где собственно эта структура объявлена ?
0
JM007
0 / 0 / 0
Регистрация: 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2010, 14:10
Привет! Вот еще темы с ответами:

Как, при запуске консольной программы, передать в нее имена файлов? - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;fstream&gt; using namespace std; bool...

Как, при запуске консольной программы, передать в нее имена файлов? - C++
Имеется код #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;fstream&gt; using namespace std; bool...

При вводе пользователем числа от 0 до 9, вывести на экран название программы (использовать оператор goto) - C++
Программу по заданию я написал Написать программу для выполнения следующих действий. При вводе цифры от 0 до 9 будет выводиться ее...

Получить список файлов в указанном каталоге - PascalABC.NET
Как получить список файлов в указаном каталоге? И находить файлы с указаным расширением или именем? Пример: В каталоге D:\test...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.05.2010, 14:10
Ответ Создать тему
Опции темы

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