Почему minGW компилятор не открывает Handle файл?

201
10 декабря 2017, 12:00

создаю Handle hfile.Использую FindFirstFile,и проверяю с hFile!=INVALID_HANDLE_VALUE.При компиляции на терминале с помощью MinGW компилятор не может открыть папку,путь я ввожу.

Вот та часть кода :

WIN32_FIND_DATA winFileData;
HANDLE hFile;
DWORD dwRet;
char directoryPath[50];
char directoryPath1[50];
char directoryPath2[50];
string txtName;
char chTxtName[15];
string text;
cout<<"Path :";
cin.getline(directoryPath,MAX);
for(int i=0;i<=sizeof(directoryPath);i++)
{
    directoryPath1[i]=directoryPath[i];
}
lstrcat(directoryPath,"\\*.txt*");
hFile = FindFirstFile(directoryPath,&winFileData);
if (hFile!=INVALID_HANDLE_VALUE)
{ 
//сюда при компиляции на терминале с MinGW не заходит
//но при запуске на CodeBlocks все идеально работает
    do
    {
        for(int i=0;i<sizeof(directoryPath1);i++)
        {
            directoryPath2[i]=directoryPath1[i];
        }
        txtName=winFileData.cFileName;
        lstrcat(directoryPath2,"\\");
        for(int i=0;i<15;i++)
        {
           chTxtName[i]=txtName[i];
        }
        lstrcat(directoryPath2,chTxtName);
        ifstream file(directoryPath2);
        getline(file,text);
        txtFolders->Ekle(txtName,text);
        file.close();
    }
    while (FindNextFile(hFile,&winFileData)!=0);
    FindClose(hFile);
}
}

При запуске на CodeBlocks все идеально работает

А вот makefile :

all:derle calistir
derle:
    g++ -I ./include -o ./lib/Islem.o -c ./src/Islem.cpp
    g++ -I ./include -o ./lib/BagilListe.o -c ./src/BagilListe.cpp  
    g++ -I ./include -o ./lib/Dugum.o -c ./src/Dugum.cpp
    g++ -I ./include -o ./lib/Agac.o -c ./src/Agac.cpp
    g++ -I ./include -o ./bin/odev ./lib/Agac.o ./lib/Dugum.o ./lib/BagilListe.o ./lib/Islem.o ./src/main.cpp
calistir:
    ./bin/odev

Если дал недостаточно информации,скажите что и какую часть подробно объяснить,или если не смог объяснить конкретно в чем проблема.

За ранее Благодарю за Помощь!

Answer 1

я заменил тот цикл (for(int i=0;i<=sizeof(directoryPath);i++)) на strcpy(directoryPath1,directoryPath); сработало.

READ ALSO
Как добавить свой виджет на главное окно Qt

Как добавить свой виджет на главное окно Qt

Создал свой виджет для визуализации круговой диаграммы:

256
Перегрузка оператора -&gt;

Перегрузка оператора ->

Как то не логично работает вызов под номером 1, теряется уровень косвенности, ведь возвращается указатель, почему к нему сразу можно применить...

179
Замена с помощью regexp

Замена с помощью regexp

Простое задание: заменить дату в формате "ддмм

172
Разные иконки для разных элементов JList

Разные иконки для разных элементов JList

Делаю список логических дисков, назначаю ему рендерВ этом коде рендер стандартный с небольшими настройками цвета фона и иконка дефолтной...

215