Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Otwieranie plikow txt w petli?


teso

Rekomendowane odpowiedzi

Opublikowano

Jak otwierac pliki po kolei z danego katalogu?
Zalozmy ze mam folder w ktorym jest 5 plikow txt i chcialbym aby pewna czynnosc zostala przeprowadzona na kazdym z nich. Jak mogę zrobić pętle ktora bedzie otwierac kazdy nastepny plik?

Opublikowano

Znasz nazwy plików? Są zapisane jakaś sekwencja? Np nazwa1 nazwa2? Jeśli randomowe nazwy to musisz zrobić listing folderu w celu pobrania nazw wszystkich plików w folderze

3587513.png


Potrzebujesz pomocy? Pisz śmiało na PW/Skype/Gadu-Gadu!


(albo napisz na forum... ^.^)

Opublikowano

czesc do listowania to ja juz mam 

	DIR *dir;
struct dirent *ent;
if ((dir = opendir ("C:\\Program Files (x86)\\)) != NULL) {
  /* print all the files and directories within directory */
  while ((ent = readdir (dir)) != NULL) {
    printf ("%s\n", ent->d_name);
  }
  closedir (dir);
} else {
  /* could not open directory */
  perror ("");
  return EXIT_FAILURE;
}

tylko nie wiem jak zapisac to co otrzymuje

Opublikowano

Meh, nie było tematu. Nie wiem czemu myślałem ze to PHP...

 

EDIT2: masz tam kod do wyświetlania nazw plików w pętli. Zrób w takim razie tablice 5-elementowa i ładuj do niej po koloi w tej petli zamiast wyświetlać w printf

3587513.png


Potrzebujesz pomocy? Pisz śmiało na PW/Skype/Gadu-Gadu!


(albo napisz na forum... ^.^)

Opublikowano

Jak otwierac pliki po kolei z danego katalogu?

Skorzystaj z funkcji WinAPI: FindFirstFile oraz FindNextFile.

 

Przykładowy program:

 

 

#include <iostream>
#include <Windows.h>
#include <fstream>
#include <string>
 
int main()
{
    HANDLE hFind;
    WIN32_FIND_DATA fData;
    char* dir = new char[250];
    std::string fname;
    GetCurrentDirectory(250, dir);
    fname.append(dir);
    fname.append("/*.txt");
    hFind = FindFirstFile(fname.c_str(), &fData);
 
    if (hFind == INVALID_HANDLE_VALUE)
    {
        std::cout << "Nie udalo sie znalezc plikow";
        return 0;
    }
 
    do
    {
        std::string path = dir;
        path.append("/");
        path.append(fData.cFileName);
        std::string line = "";
        std::fstream file (path, std::ios::in);
        if (file.is_open())
        {
            while (std::getline(file, line))
            {
                std::cout << line << std::endl;
            }
            file.close();
        }
    } while (FindNextFile(hFind, &fData) != 0);
 
    delete[] dir;
    return 0;
}

 

 

Opublikowano

No to ci napisałem co masz zrobić...


vector<string>pliki;
DIR *dir;
struct dirent *ent;
if ((dir = opendir ("C:\\Program Files (x86)\\)) != NULL) {
  /* print all the files and directories within directory */
  while ((ent = readdir (dir)) != NULL) {
    pliki.push_back(ent->d_name);
  }
  closedir (dir);
} else {
  /* could not open directory */
  perror ("");
  return EXIT_FAILURE;
}

3587513.png


Potrzebujesz pomocy? Pisz śmiało na PW/Skype/Gadu-Gadu!


(albo napisz na forum... ^.^)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...