• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed c++ wyszukiwanie konkretnych plików w 1 folderze

VPS Starter Arubacloud
0 głosów
328 wizyt
pytanie zadane 1 lipca 2019 w C i C++ przez Tomasz Kolk Użytkownik (750 p.)
zamknięte 1 lipca 2019 przez Tomasz Kolk

siemanko mam taki kod i powie mi ktoś czemu on nie działa?

Jako cel mam aby wszystkie pliki .dll które są w folderze razem z programem się pojawiły na liscie.

#include<vector>
#include<Windows.h>
#include<string>
std::vector<std::string> GetFiles(const char roz[], const char fol[])
{
	std::vector<std::string> configs;

	WIN32_FIND_DATA ffd;
	auto directory = fol;
	auto hFind = FindFirstFile(directory, &ffd);

	while (FindNextFile(hFind, &ffd))
	{
			std::string file_name = ffd.cFileName;
			if (file_name.size() < 4) // .cfg
				continue;

			std::string end = file_name;
			end.erase(end.begin(), end.end() - 4); // erase everything but the last 4 letters
			if (end != roz)
				continue;

			file_name.erase(file_name.end() - 4, file_name.end()); // erase the .cfg part
			configs.push_back(file_name);
		}

	return configs;
}
int main()
{
	std::vector<std::string> files = GetFiles(".dll", "*");
	printf("%s", files);
	getchar();
}

 

komentarz zamknięcia: Udało się. Błąd był w ścieżce. dałem na partycje c i działa
komentarz 1 lipca 2019 przez tkz Nałogowiec (42,000 p.)

https://en.cppreference.com/w/cpp/filesystem

#include <fstream>
#include <iostream>
#include <filesystem>

namespace fs = std::filesystem;

int main()
{
    std::string path(); //tutaj sciezka 
    std::string ext(".dll");
    for(auto& p : fs::recursive_directory_iterator(path))
    {
        if(p.path().extension() == ext)
            std::cout << p << '\n';
    }
    return 0;
}

Powinno działać. Myślę, że korzystanie z nowego standardu będzie lepsze pod względem przenośności programu.

komentarz 1 lipca 2019 przez Tomasz Kolk Użytkownik (750 p.)
ok zobacze.

a wiesz czm mój kod nie działa?
komentarz 1 lipca 2019 przez Tomasz Kolk Użytkownik (750 p.)

@tkz,

A jak to mogę wyświetlić ? chodzi mi że np string to %s a int to %d. A ten twój kod. Bo ja używa,ImGui i chce na tym pokazać

komentarz 1 lipca 2019 przez tkz Nałogowiec (42,000 p.)
Nie mam zielonego pojęcia o co Ci chodzi...
komentarz 1 lipca 2019 przez Tomasz Kolk Użytkownik (750 p.)

@tkz,

już sobie poradziłem

Podobne pytania

0 głosów
2 odpowiedzi 688 wizyt
pytanie zadane 15 stycznia 2018 w C i C++ przez Artur313 Użytkownik (790 p.)
0 głosów
1 odpowiedź 184 wizyt
0 głosów
0 odpowiedzi 103 wizyt

92,454 zapytań

141,262 odpowiedzi

319,098 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...