IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   Вопсро по С++ (https://www.imho.ws/showthread.php?t=108019)

alexksei 06.09.2006 20:24

Вопсро по С++
 
Вообшем мне надо чтоб программа читала названия файлов, то есть они не заданы до этого, а програма должна читать их сама . . . то есть прочитать все названия файлов из определенной папки . . .

Думаю эт не сложно, но я нуб и не знаю как это сделать :biggrin:

ЕЖ 06.09.2006 20:45

А как программа должна читать названия файлов? Вслух? :ржать:

Я к тому, что нужны такие детали, как - под какой средой программирования нужно это реализовать? Т.е. например Borland C++ 3.1 для DOS, или скажем С++Builder, или Visual C++. Везде это делается по-разному.

alexksei 06.09.2006 20:50

Эмм... грешно смеяться над нубами :p

НУ я так понял программа имеется ввиду ? ТОгда Bloodshed Dev c++ . . .

ЕЖ 06.09.2006 21:16

К сожалению с названной средой разработки не знаком, но яндекс говорит что среда под Windows. Поэтому так или иначе должен поддерживаться WinAPI. Вот простенький пример из MSDN на WinAPI по чтению файлов в каталоге:
Код:

#define _WIN32_WINNT 0x0501

#include <windows.h>
#include <string.h>
#include <stdio.h>

int main(int argc, char *argv[])
{
  WIN32_FIND_DATA FindFileData;
  HANDLE hFind = INVALID_HANDLE_VALUE;
  char DirSpec[MAX_PATH];  // directory specification
  DWORD dwError;

  printf ("Target directory is %s.\n", argv[1]);
  strncpy (DirSpec, argv[1], strlen(argv[1])+1);
  strncat (DirSpec, "\\*", 3);

  hFind = FindFirstFile(DirSpec, &FindFileData);

  if (hFind == INVALID_HANDLE_VALUE)
  {
      printf ("Invalid file handle. Error is %u\n", GetLastError());
      return (-1);
  }
  else
  {
      printf ("First file name is %s\n", FindFileData.cFileName);
      while (FindNextFile(hFind, &FindFileData) != 0)
      {
        printf ("Next file name is %s\n", FindFileData.cFileName);
      }
   
      dwError = GetLastError();
      FindClose(hFind);
      if (dwError != ERROR_NO_MORE_FILES)
      {
        printf ("FindNextFile error. Error is %u\n", dwError);
        return (-1);
      }
  }
  return (0);
}



Часовой пояс GMT +4, время: 22:53.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.