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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.07.2014, 19:00   #1
Afrit
Новичок
Джуниор
 
Регистрация: 24.07.2014
Сообщений: 1
По умолчанию Получения пути к файлу

Добрый день!
Мне нужно считать путь, найти все файлы и записать в вектор только название файла. Поиск провожу через FindFirstFile FindNextFile.
Не понимаю, почему файлы ищутся все равно только в директории проекта.
Код:
vector<HashTable> ffile()
{
	
	vector<HashTable> vect;
	WIN32_FIND_DATA FindFileData;
	HANDLE hFind;
	int counter = 0;
	setlocale(LC_ALL, "russian");
	char path[MAX_PATH] = { 0 };


		std::cout << "Enter path: ";
		scanf("%s", path);
	
	strcat(path, "\\*.*");
	hFind = FindFirstFile(path, (LPWIN32_FIND_DATAA)&FindFileData);

	if (hFind != INVALID_HANDLE_VALUE)  {
		do  {
			if (CRC32_count(FindFileData.cFileName) != 0)
			{
				HashTable STfiles;
			
				printf("The file %s is found\n", FindFileData.cFileName);
				STfiles.set_name(FindFileData.cFileName);
				
				
				STfiles.set_hash(CRC32_count(FindFileData.cFileName));
				vect.push_back(STfiles);
			
			}
			}
		
		while (FindNextFile(hFind, &FindFileData));
	}
	FindClose(hFind);


	
	return vect;
}
Хочется, чтобы в файл писалось короткое имя, но все таки программа искала файлы в нужной директории path.
Afrit вне форума Ответить с цитированием
Старый 24.07.2014, 21:39   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Не подтверждаю. Специально перепроверил твой проект, убрав несуразности. Он ищет там где и задает пользователь:
Код:
#include <iostream>
#include <windows.h>
using namespace std;

int main()
{

	WIN32_FIND_DATA FindFileData;
	HANDLE hFind;
	int counter = 0;
	setlocale(LC_ALL, "russian");
	char path[MAX_PATH] = { 0 };


		std::cout << "Enter path: ";
		cin>>path;

	strcat(path, "\\*.*");
	hFind = FindFirstFile(path, (LPWIN32_FIND_DATAA)&FindFileData);

	if (hFind != INVALID_HANDLE_VALUE)  {
		do  {

				cout<<FindFileData.cFileName<<'\n';
			}
		while (FindNextFile(hFind, &FindFileData));
	}
	FindClose(hFind);
    return 0;
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.08.2014, 18:19   #3
regdark
 
Регистрация: 05.07.2014
Сообщений: 4
По умолчанию

Спасибо. Правда все так запутано.
Советы для вас и вашего компьютера
http://darkhelp.com.ua/
regdark вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
слияние пути к файлу aank10 Qt и кроссплатформенное программирование С/С++ 0 06.07.2013 17:15
Поиск пути к файлу aank10 Общие вопросы C/C++ 5 21.02.2012 11:27
VB. Определение пути в файлу KillJoy Помощь студентам 2 08.10.2010 20:51
изменение пути к файлу Обыватель Microsoft Office Excel 2 30.09.2008 13:16
Определение пути к файлу Pinya Общие вопросы Delphi 1 07.08.2008 12:22