Найти файл в текущей директории и проделать с ним соответствующие операции - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Имеетя задача - найти файл в текущей директории и проделать с ним соттветствующие операции, если его нет - то создать и т д...
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);
}
 
}
Проблема в том, что вне зависимости от того, имеется ли искомый файл в тек. папке или нет, события (winFileData.cFileName=="MYFILE.exe") не происходит, в чем может быть проблема?

Решение задачи: «Найти файл в текущей директории и проделать с ним соответствующие операции»

textual
Листинг программы
if(lstrcmp(winFileData.cFileName,"MYFILE.exe")==0)

Объяснение кода листинга программы

  1. lstrcmp - это функция сравнения строк в операционной системе Windows.
  2. winFileData.cFileName - это переменная, которая содержит имя файла, выбранного пользователем в диалоговом окне.
  3. MYFILE.exe - это строка, которая содержит имя файла, с которым мы сравниваем выбранный файл.
  4. ==0 - это оператор сравнения, который возвращает true, если оба значения равны, и false в противном случае.
  5. Если lstrcmp возвращает 0, значит, имена файлов совпадают, и мы можем выполнить определенные действия с файлом.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5
Похожие ответы