Найти файл в текущей директории и проделать с ним соответствующие операции - C (СИ)
Формулировка задачи:
Доброго времени суток!
Имеетя задача - найти файл в текущей директории и проделать с ним соттветствующие операции, если его нет - то создать и т д...
Проблема в том, что вне зависимости от того, имеется ли искомый файл в тек. папке или нет, события (winFileData.cFileName=="MYFILE.exe") не происходит, в чем может быть проблема?
int main(int argc, char *argv[]) { WIN32_FIND_DATA winFileData; HANDLE hFile; char szPath[MAX_PATH]; if(GetCurrentDirectory(sizeof(szPath),szPath)) { lstrcat(szPath,"\\*.*"); printf("cur dir is %s \n", szPath); //текущая директория hFile = FindFirstFile(szPath,&winFileData); //создаём хэндл while (FindNextFile(hFile,&winFileData)!=0) //до тех пор пока есть след файл { if (winFileData.cFileName=="MYFILE.exe") //MYFILE.exe - искомый файл printf("File is found! \n"); else printf("%s \n", winFileData.cFileName); } }
Решение задачи: «Найти файл в текущей директории и проделать с ним соответствующие операции»
textual
Листинг программы
if(lstrcmp(winFileData.cFileName,"MYFILE.exe")==0)
Объяснение кода листинга программы
lstrcmp
- это функция сравнения строк в операционной системе Windows.winFileData.cFileName
- это переменная, которая содержит имя файла, выбранного пользователем в диалоговом окне.MYFILE.exe
- это строка, которая содержит имя файла, с которым мы сравниваем выбранный файл.==0
- это оператор сравнения, который возвращаетtrue
, если оба значения равны, иfalse
в противном случае.- Если
lstrcmp
возвращает0
, значит, имена файлов совпадают, и мы можем выполнить определенные действия с файлом.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д