2013-02-24 2 views
5

У меня есть некоторый код, как этот фрагмент кода:Что заменить glob_t и glob() на порт в Windows?

#include <glob.h> 

glob_t globBuf; 
const int result = glob(remoteFileName.c_str(), 0, 0, &globBuf); 

if (result == GLOB_NOSPACE) { 
    ... 
} else if (result == GLOB_NOMATCH) { 
    ... 
} else { 
    ... 
} 

Но я не нахожу glob.h на окнах.

Что я буду использовать в Microsoft Windows для обеспечения эквивалентных функций для переноса этого кода из Linux?

ответ

2

glob - это особая вещь POSIX и не существует в Windows. В Windows обратите внимание на FindFirstFile и его функции-компаньоны.

+0

Включает ли Microsoft Interix SUA glob()? – WilliamKF

+0

@WilliamKF Я не знаю, похоже, не может найти список доступных API. –

+1

flag \t @WilliamKF: Это так, но имейте в виду, что в отличие от CMD.EXE, оболочки SUA соответствуют POSIX и делают подталкивание себя; поэтому их использование, как правило, сильно отличается между двумя средами. – AntoineL