Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 21.06.2018, 16:25   #1
Михаил1990
Пользователь
 
Регистрация: 17.05.2018
Сообщений: 29
Репутация: 10
По умолчанию LPCTSTR создание массива

Добрый день!
Имею фунцию
Код:

SearchFiles("C:\\Users\\Admin\\Desktop\\*.jpeg", DoSomething, TRUE);

Ищет на рабочем столе все фото
Код:

void DoSomething(LPCTSTR lpszFileName)
{
	//CopyFile(lpszFileName,	"C:\\Users\\Admin\\Documents\\txt\\",true);
	MessageBox(NULL, lpszFileName, "Find File", MB_OK | MB_APPLMODAL);
}

В переменной lpszFileName значение не имени самого файла, а пути по которому он расположен
Код:

C:\\Users\\Admin\\Desktop\\photo_1.jpeg

Вот думаю как лучше сделать, что бы все найденные файлы в 1 папку копировать.
У меня проблема создать массив LPCTSTR неопред размера и добавлять по индексу пути, для того что бы потом из индексов брать и копировать по ним.
Михаил1990 вне форума   Ответить с цитированием
Старый 21.06.2018, 16:43   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,470
Репутация: 2073

icq: 216409213
По умолчанию

1. LPCTSTR - это просто указатель на чар/вчар.
2. Зачем вам массив, если вы все равно в поиске по одному получаете?
3. Забыть/забить на ВинАПИ и использовать <filesystem>. Поиск можно, копировать можно, ...
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 21.06.2018, 16:58   #3
Михаил1990
Пользователь
 
Регистрация: 17.05.2018
Сообщений: 29
Репутация: 10
По умолчанию

Подскажите в этом filesystem можно сделать рекурсивный поиск ? по маске "*.txt"

Цитата:
Сообщение от p51x Посмотреть сообщение
1. LPCTSTR - это просто указатель на чар/вчар.
2. Зачем вам массив, если вы все равно в поиске по одному получаете?
3. Забыть/забить на ВинАПИ и использовать <filesystem>. Поиск можно, копировать можно, ...
Я в винапи потихоньку разбираюсь. filesystem в VS определить не могу.

Последний раз редактировалось Вадим Мошев; 22.06.2018 в 00:12.
Михаил1990 вне форума   Ответить с цитированием
Старый 21.06.2018, 17:08   #4
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,470
Репутация: 2073

icq: 216409213
По умолчанию

Цитата:
Сообщение от Михаил1990 Посмотреть сообщение
Подскажите в этом filesystem можно сделать рекурсивный поиск ? по маске "*.txt"
Берете рекурсивный-итератор-по-папке, перебираете файлы и либо проверяете регэкспом, либо файндом, либо вызываете метод для получение расширения файла и сравниваете.

Цитата:
filesystem в VS определить не могу.
Экспереминтал/файлсистемс пробовали? Какая версия студии?
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 21.06.2018, 17:10   #5
Михаил1990
Пользователь
 
Регистрация: 17.05.2018
Сообщений: 29
Репутация: 10
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Берете рекурсивный-итератор-по-папке, перебираете файлы и либо проверяете регэкспом, либо файндом, либо вызываете метод для получение расширения файла и сравниваете.


Экспереминтал/файлсистемс пробовали? Какая версия студии?
VS 2010 express пробовал
Михаил1990 вне форума   Ответить с цитированием
Старый 21.06.2018, 17:12   #6
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,470
Репутация: 2073

icq: 216409213
По умолчанию

Нее... это слишком новая. Возьмите VS 6. Вы давно на улицу выглядывали или в календарь?
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 21.06.2018, 17:17   #7
Михаил1990
Пользователь
 
Регистрация: 17.05.2018
Сообщений: 29
Репутация: 10
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Нее... это слишком новая. Возьмите VS 6. Вы давно на улицу выглядывали или в календарь?
Можете с примером на filesystem помочь? Рекурсивный поиск по маске в папках?
Михаил1990 вне форума   Ответить с цитированием
Старый 21.06.2018, 17:21   #8
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,470
Репутация: 2073

icq: 216409213
По умолчанию

Так я вам его написал. Запишите просто на языке с for и т.д.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 21.06.2018, 21:01   #9
Михаил1990
Пользователь
 
Регистрация: 17.05.2018
Сообщений: 29
Репутация: 10
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Так я вам его написал. Запишите просто на языке с for и т.д.
поставил студию 2015, немножко разобрался.
Подскажите проверку по расширению (*.jpeg) можно организовать?
Код:

#include <fstream> 
#include <iostream> 
#include <experimental/filesystem>
namespace fs = std::experimental::filesystem;

int main()
{

	for (auto& p : fs::recursive_directory_iterator("C:\\Users\\Admin\\Downloads\\"))
		
		std::cout << p << '\n';

}

Ошибка
Код:

	for (auto& s : fs::recursive_directory_iterator("C:\\Users\\Admin\\Downloads\\"))


	if (s.status == "*.txt")
		std::cout << s << '\n';


Последний раз редактировалось Вадим Мошев; 22.06.2018 в 00:13.
Михаил1990 вне форума   Ответить с цитированием
Старый 21.06.2018, 21:15   #10
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,470
Репутация: 2073

icq: 216409213
По умолчанию

Ну так в чем затруднения? Как я уже сказал, из_регулар_файл, паф->екстенсион = jpeg

А статус тут причем? Он даже звучит не так...
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Приведение массива char[] (или char* ) в LPCTSTR polin11 Общие вопросы C/C++ 3 29.07.2015 18:01
Работа с иконками(ошибка с LPCTSTR) - №2 zipo666 Общие вопросы C/C++ 5 11.02.2012 01:16
Работа с иконками в с++(ошибка с LPCTSTR) zipo666 Общие вопросы C/C++ 2 10.02.2012 04:10
int --> LPCTSTR LockHeart Общие вопросы C/C++ 3 17.11.2011 10:24
_bstr_t -> LPCWSTR-> LPCTSTR->LPCSTR Lindemann66 Qt и кроссплатформенное программирование С/С++ 1 17.08.2011 16:45


03:25.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru