Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чтение файлов из каталога 
:(
    Опции темы
JM007
Дата 2.5.2010, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 2.5.2010

Репутация: нет
Всего: нет



Здравствуйте!

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

Как это можно реализовать? Непойму никак  Помогите пожалуйста...

Я коечто нашел, только он не работает:

Код

#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();
}


в чем проблема?
PM MAIL   Вверх
borisbn
Дата 2.5.2010, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Цитата(JM007 @  2.5.2010,  21:54 Найти цитируемый пост)
Я коечто нашел, только он не работает:

Судя по коду должно работать. А как "не работает" ? Не компилируется ? Вылетает ? Не печатает то, что задумано ?


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
JM007
Дата 3.5.2010, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 2.5.2010

Репутация: нет
Всего: нет



Я разобрался, там только путь каталога надо указать, только я незнаю куда указать(((
Подскажите пожалуйста...
PM MAIL   Вверх
borisbn
Дата 3.5.2010, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Судя по коду exe-шник надо вызывать с путём в качестве параметра.
имя_программы.exe <путь, заканчивающийся слэшем>


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
JM007
Дата 3.5.2010, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 2.5.2010

Репутация: нет
Всего: нет



Цитата

имя_программы.exe <путь, заканчивающийся слэшем>


Как это? А можно пример?
PM MAIL   Вверх
borisbn
Дата 3.5.2010, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Допустим, твоя программа называется lst_cpp, а каталог, файлы которого нужно обработать d:\work\lst_cpp\src
Получается, что нужно запустить программу след. образом:
Код

C:\>lst_cpp.exe d:\work\lst_cpp\src\



--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
JM007
Дата 3.5.2010, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 2.5.2010

Репутация: нет
Всего: нет



Большое спасибо за помощь)) 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0488 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.