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

Запись путей файлов в *.txt файл. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ помогите, если не сложно http://www.cyberforum.ru/cpp-beginners/thread360301.html
помогите написать программу для курсового проекта
C++ Преимущество Win Api Буквально вчера создал тему, где задал вопрос о средствах, с помощью которых можно работать некоторым образом в командной строке. Нашлось много ответов, и часть из них сводилась к совету использовать средства Win Api. И, собственно, теперь сам вопрос: На сколько это перспективно (если можно так сказать), и почему лучше начать работать именно с Win Api, а не, скажем, выучить библиотеку QT и... http://www.cyberforum.ru/cpp-beginners/thread360251.html
Посоветуйте среду C++
Посоветуйте интегрированную среду разработки кросплатформенных приложений. Сама среда должна иметь виндузячую версию, поддерживать использование в разрабатываемом приложении сторонних библиотек, требуется сборка готового приложения под винду, и под LINUX.
C++ Как сделать генератор случайных чисел?
Привет всем. Возник очередной вопрос за это утро. Как сделать генератор случайных чисел? В учебнике написано так: "Для этого существует функция random(K) - генератор случайных чисел." Учебник предлагает вначале написать так: randomize(); //Инициализация генератора случайных чисел А потом уже использовать функцию random(K); И дескать это будет целое число в интервале
C++ Чтение из файла http://www.cyberforum.ru/cpp-beginners/thread360242.html
формат файла: text, 200 text2, 180 и т.д.... #include <math.h> #include <stdio.h> struct cars {
C++ Слово array является зарезервированным в Visual Studio 2008? Привет всем. Читаю старую книгу по С++. Там для массива предлагают использовать имя array, например: int array; Но когда я это напечатал, то у меня слово array стало синим: array Как я понимаю, синими являются зарезервированные слова. Но, судя по учебнику, слово array таковым не является. Там в начале приведён полный список ключевых слов С++ и в этом списке array нет. Но книга старая.... подробнее

Показать сообщение отдельно
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
04.10.2011, 20:29     Запись путей файлов в *.txt файл.
Infinity3000, вот посмотри написал на скорую руку.
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
#include <windows.h>
#include <stdio.h>
int    getInfoPath(char* name, char* path);
int    putFileName(FILE* fp, const char* name, const char* path, bool cur = true);
 
int main(){
   FILE*  fp;
   char path[MAX_PATH];
   char name[MAX_PATH];
   if(! getInfoPath(name, path)) 
        return 1;
   if(!(fp = fopen("file_list.txt", "w")))
        fp = freopen("file_list.txt", "w+", fp);
   putFileName(fp, name, path);
   fflush(fp);
   fclose(fp);
   return 0;
}
 
// берём путь из коммандой строки
int  getInfoPath(char* name, char* path) {
   char* cmd = GetCommandLineA();
   while(*cmd++ != '"'); 
   char* str;
   if(! (str = strrchr(cmd, '\\')))
         return 0;
   strncpy(path, cmd, strlen(cmd) - strlen(str) + 1);
   strcpy(name, path);
   strcat(path, "*");
   strncat(name, str + 1, strlen(str)-3);
   return 1;
}
 
// рекурсивная функция проходит по всем вложенным папкам...
int   putFileName(FILE* fp, const char* name, const char* path, bool cur) {
  WIN32_FIND_DATAA fdata;
  char dir[MAX_PATH];
  char idir[MAX_PATH];
  ZeroMemory(&fdata, sizeof(WIN32_FIND_DATAA));
  HANDLE fcur = FindFirstFileA(path, &fdata);
  if(fcur == INVALID_HANDLE_VALUE)
         return 0;
  do {
         if( ! strcmp(fdata.cFileName, ".")  || ! strcmp(fdata.cFileName, ".."))
                continue;
         strncpy(dir, path, strlen(path)-1);
         dir[strlen(path)-1] = '\0';
         if(fdata.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
                 sprintf(idir, "%s%s\\*", dir, fdata.cFileName);
                 putFileName(fp, name, idir, false);
                 continue;
          } 
           if(cur) { // свой исполнительный файл не берём в отсчёт
                   sprintf(idir, "%s%s", dir, fdata.cFileName); 
                   if(! stricmp(idir, name))
                          continue;
            }
            fprintf(fp, "%s%s\n", dir, fdata.cFileName);
            printf("%s%s\n", dir, fdata.cFileName);
  } while(FindNextFileA(fcur, &fdata) != 0);
  FindClose(fcur);
  return 1;
}
Вот ещё исходник.
Вложения
Тип файла: rar flist.rar (4.2 Кб, 17 просмотров)
 
Текущее время: 03:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru