[C++][fstream] Otwieranie wszystkich plików z danego katalogu
Ostatnio zmodyfikowano 2015-09-16 16:17
loop Temat założony przez niniejszego użytkownika |
[C++][fstream] Otwieranie wszystkich plików z danego katalogu » 2015-09-15 22:32:06 Witam,
Istnieje możliwość aby w bibliotece fstream otworzyć wszystkie pliki z danego katalogu po kolei?
Pozdrawiam |
|
carlosmay |
» 2015-09-15 22:39:39 Tak: otwierasz plik, odczytujesz dane lub zapisujesz do zmiennych i zamykasz plik. Następny bierzesz na warsztat. |
|
Gibas11 |
» 2015-09-15 23:15:34 |
|
Szadziu |
» 2015-09-16 08:21:17 Poczytaj o bibliotece dirent: http://cpp0x.pl/artykuly/?id=53 Zwróci ci wskaźniki czy tam ścieżki do kolejnych plików. Możesz je otworzyć fstreamem |
|
tixer |
» 2015-09-16 15:39:54 Ja poradziłem sobie z tym za pomocą ls /home/>plikiwkatalogu.txt pierwszą nazwę odrzucasz, bo prawdopodobnie będzie to pusty wiersz. |
|
mateczek |
jeśli Biblioteka Qt jest w zasięgu Twojego zainteresownia to polecam klasę QDir » 2015-09-16 16:17:35 A jeśli nie to może ktoś poleci podobne klasy z biblioteki standardowej lub z biblioteki boost. Z reguły(choć nie zawsze) te biblioteki dublują się funkcjonalnością. http://doc.qt.io/qt-4.8/qdir.html#entryInfoList-2 #include <QDir> #include <iostream>
int main( int argc, char * argv[] ) { QCoreApplication app( argc, argv ); QDir dir; dir.setFilter( QDir::Files | QDir::Hidden | QDir::NoSymLinks ); dir.setSorting( QDir::Size | QDir::Reversed ); QFileInfoList list = dir.entryInfoList(); std::cout << " Bytes Filename" << std::endl; for( int i = 0; i < list.size(); ++i ) { QFileInfo fileInfo = list.at( i ); std::cout << qPrintable( QString( "%1 %2" ).arg( fileInfo.size(), 10 ) .arg( fileInfo.fileName() ) ); std::cout << std::endl; } return 0; }
to jest kawałek kodu który jest na stronie wyżej. Tam są krótkie przykłady !!! |
|
« 1 » |