Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2010, 00:34   #1
alexei-evil
 
Регистрация: 12.04.2010
Сообщений: 7
По умолчанию Сохранение списка файлов в .txt файл

Всем привет! Пытаюсь написать программку, которая должна сохранять список имен файлов в каталоге в .txt файл.
Вот что получилось:

Код:
#include <stdio.h>
#include <afxwin.h>
#include <afxdlgs.h>
#include <iostream.h>
#include <conio.h>

// char* m_path = new char[50];
void main()
{
CFileFind m_finder;
BOOL bWorking;
FILE *cf;
cf = fopen("c:\\Log.txt","at");   
//Путь  
char* m_path="c:\\Guardant\DRIVERS";
//Поиск файлов
bWorking = m_finder.FindFile(m_path);
    
while (bWorking)
{
   bWorking = m_finder.FindNextFile();
   if (!m_finder.IsDirectory() && !m_finder.IsDots())
   {
         fprintf(cf, m_finder.GetFileName());
         fprintf(cf, "\n");
    }
}
fclose(cf);
getch();
}
Только не работает почему-то. Создается файл Log.txt, но в него ничего не пишется. Остается пустой.
Что я делаю не правильно?
Или, может быть, есть, более правильный, способ реализовать эту задачу?
Спасибо!

Последний раз редактировалось Stilet; 03.08.2010 в 11:09.
alexei-evil вне форума Ответить с цитированием
Старый 03.08.2010, 10:47   #2
Assemblerru
Форумчанин
 
Регистрация: 28.01.2010
Сообщений: 224
По умолчанию

помоему строка
cf = fopen("c:\\Log.txt","at");
должна выглядеть как
cf = fopen("c:\\Log.txt","w+");//создать файл для чтения и записи
==============================
твой поиск файлов...
bWorking = m_finder.FindFile(m_path);
какого типа переменная bWorking
быть может ее стоит проверить на наличие в ней данных.
==============================
да и проверить созданый файл можно проше
if ((cf = fopen("c:\\Log.txt","w+")) == NULL)
{ //выход в случае неудачи
}
//чтение, запись в файл
fprintf....//запись в файл
всему свое время как зиме и весне
и каждому солнцу свой неба кусок
Assemblerru вне форума Ответить с цитированием
Старый 03.08.2010, 11:12   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А так:
Код:
#include <stdlib.h>

int _tmain(int argc, _TCHAR* argv[])
{
	system("dir c:\\Guardant\DRIVERS /b >  c:\\Log.txt");
	return 0;
}
Не пойдет?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.08.2010, 19:39   #4
alexei-evil
 
Регистрация: 12.04.2010
Сообщений: 7
По умолчанию

Ошибки нашел и исправил.
Если кому интересно, вот рабочий код:
#include <stdio.h>
#include <afxwin.h>
#include <afxdlgs.h>
#include <iostream.h>
#include <conio.h>

// char* m_path = new char[50];
void main()
{
CFileFind m_finder;
BOOL bWorking;
FILE *cf;
cf = fopen("c:\\Log.txt","w+");
//Путь
char* m_path="c:\\Guardant\\DRIVERS\\*.*" ; // Важно! При записи пути надо ставить \\ иначе не будет работать.
//Поиск файлов
bWorking = m_finder.FindFile(m_path);

while (bWorking)
{
bWorking = m_finder.FindNextFile();
if (!m_finder.IsDirectory() && !m_finder.IsDots())
{
fprintf(cf,"%s",m_finder.GetFileTit le());
fprintf(cf, " ");
}
}
fprintf(cf, "\n");
fprintf(cf,"%s", m_path);
fprintf(cf, "\n");
bWorking = m_finder.FindFile(m_path);
while (bWorking)
{
bWorking = m_finder.FindNextFile();
if (!m_finder.IsDirectory() && !m_finder.IsDots())
{
fprintf(cf,"%s",m_finder.GetFileTit le()); // имя файла без расшbрения. Получение полного имени GetFileName()
fprintf(cf, ".o ");
}
}
fclose(cf);

getch();
}

Последний раз редактировалось alexei-evil; 04.08.2010 в 19:44.
alexei-evil вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение списка в ini файл Vladya Помощь студентам 2 28.07.2010 16:30
Сохранение списка документов в текстовый файл twist Помощь студентам 3 14.05.2010 00:09
Сохранение из TeeChart Series в *.txt файл Artemij Общие вопросы C/C++ 0 29.08.2009 14:00
Нужна прога чотбы скинуть названия файлов в папке в один файл (txt) Ninzjacont Помощь студентам 2 08.02.2009 20:30
Как прочесть txt файл www.site.ru/info.txt BR17UY Работа с сетью в Delphi 1 16.04.2007 13:01