Считайте имена файлов из каталога

Проблема в том, что у вас много высот и отступов с десятичными значениями. Например, на экранах сетчатки вы увидите промежутки между этими десятичными знаками. Помните, что вы не должны делить пиксели.

Я провел эксперимент, придав родительскому контейнеру фоновый цвет красного цвета, и, как и ожидалось, разрывы стали красными:

enter image description here

[115 ] Может быть, Firefox округляет некоторые из этих значений, но зачем они вообще нужны?

Полагаю, у вас есть какой-то автоматический конструктор сайтов, выполняющий эти странные вычисления?

16
задан Sam 9 September 2014 в 11:51
поделиться

5 ответов

Повышение обеспечивает basic_directory_iterator , который предоставляет стандарту C++ приспосабливание входному итератору, который получает доступ к содержанию каталога. Если можно использовать Повышение, то это - по крайней мере, межплатформенный код.

18
ответ дан 30 November 2019 в 15:24
поделиться

Я думаю, что Вы ищете FindFirstFile() и FindNextFile() .

12
ответ дан 30 November 2019 в 15:24
поделиться

Просто имел беглый взгляд в моем каталоге отрывков. Найденный этим:

vector<CStdString> filenames;
CStdString directoryPath("C:\\foo\\bar\\baz\\*");

WIN32_FIND_DATA FindFileData; 
HANDLE hFind = FindFirstFile(directoryPath, &FindFileData);

if (hFind  != INVALID_HANDLE_VALUE)
{
    do
    {
        if (FindFileData.dwFileAttributes != FILE_ATTRIBUTE_DIRECTORY)
              filenames.push_back(FindFileData.cFileName);
    } while (FindNextFile(hFind, &FindFileData));

    FindClose(hFind);
}

Это дает Вам вектор со всеми именами файлов в каталоге. Это только работает над Windows, конечно.

<час>

JoГЈo Augusto, отмеченный в ответ :

не забывают проверять после FindClose(hFind) на:

DWORD dwError = GetLastError();
if (dwError != ERROR_NO_MORE_FILES) 
{
  // Error happened        
}

Это особенно важно при сканировании в сети.

9
ответ дан 30 November 2019 в 15:24
поделиться

Вы могли также использовать POSIX opendir () и readdir () функции. См. эта страница руководства , которая также имеет некоторый код яркого примера.

6
ответ дан 30 November 2019 в 15:24
поделиться

Я рекомендую, чтобы можно было использовать собственный Win32 FindFirstFile() и FindNextFile() функции. Они дают Вам полный контроль над тем, как Вы ищете файлы. Это - простые API C и не твердо использовать.

Другое преимущество состоит в том, что ошибки Win32 не скрыты или совершены тяжелее для достигания из-за слоя библиотеки C/C++.

4
ответ дан 30 November 2019 в 15:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: