Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как найти фаил и узнать его размер 
:(
    Опции темы
NULL
Дата 1.10.2003, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 22.8.2003

Репутация: нет
Всего: нет



Вот так пытаюсь сделать я
Код

#include <windows.h>
#include <iostream.h>

void main(){
HANDLE hFile;
WIN32_FIND_DATA FFD;
BOOL fl = FALSE;

hFile = FindFirstFile("proba.txt", &FFD);
if(hFile != INVALID_HANDLE_VALUE)
 while((!fl) || (fl != ERROR_NO_MORE_FILES)) fl = FindNextFile(hFile, &FFD);

unsigned long  ffs;
ffs = (FFD.nFileSizeLow/32) + (FFD.nFileSizeHigh/32);//тут вроде побитово смещать(как?)
cout << "file size: " << ffs << endl;
}

не находит, а если и находит то размер там странный(нужен в байтах)
PM MAIL ICQ   Вверх
Ars
Дата 1.10.2003, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 28.8.2003
Где: Московская обл.

Репутация: 2
Всего: 2



Пример из MSDN
Код

void FindFileExample (void)
{
 WIN32_FIND_DATA FileData;   // Data structure describes the file found
 HANDLE hSearch;             // Search handle returned by FindFirstFile
 TCHAR szMsg[100];           // String to store the error message
 TCHAR szNewPath[MAX_PATH];  // Name and path of the file copied
 TCHAR szDirPath[] = TEXT("\\TEXTRO");

 BOOL bFinished = FALSE;

 // Create a new directory.

 if (!CreateDirectory (szDirPath, NULL))
 {
   wsprintf (szMsg, TEXT("Unable to create new directory."));
   return;
 }

 // Start searching for .txt files in the root directory.

 hSearch = FindFirstFile (TEXT("\\*.txt"), &FileData);
 if (hSearch == INVALID_HANDLE_VALUE)
 {
   wsprintf (szMsg, TEXT("No .TXT files found."));
   return;
 }

 // Copy each .txt file to the new directory and change it to
 // read-only, if it is not already read-only.

 while (!bFinished)
 {
   lstrcpy (szNewPath, szDirPath);
   lstrcat (szNewPath, TEXT("\\"));
   lstrcat (szNewPath, FileData.cFileName);

   if (CopyFile (FileData.cFileName, szNewPath, FALSE))
   {
     if (!(FileData.dwFileAttributes & FILE_ATTRIBUTE_READONLY))
     {
       SetFileAttributes (szNewPath,
               FileData.dwFileAttributes | FILE_ATTRIBUTE_READONLY);
     }
   }
   else
   {
     wsprintf (szMsg, TEXT("Unable to copy file."));

     // Your error-handling code goes here.
   }

   if (!FindNextFile (hSearch, &FileData))
   {
     bFinished = TRUE;

     if (GetLastError () == ERROR_NO_MORE_FILES)
     {
       wsprintf (szMsg, TEXT("Found all of the files."));
     }
     else
     {
       wsprintf (szMsg, TEXT("Unable to find next file."));
     }
   }
 }

 // Close the search handle.

 if (!FindClose (hSearch))
 {
   wsprintf (szMsg, TEXT("Unable to close search handle."));
 }
} // End of FindFileExample code


Это сообщение отредактировал(а) Ars - 1.10.2003, 12:48


--------------------
Есть многое на свете, друг Горацио,
С чем очень долго можно прое..!
PM MAIL   Вверх
NULL
Дата 1.10.2003, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 22.8.2003

Репутация: нет
Всего: нет



спасиба
PM MAIL ICQ   Вверх
mr.DUDA
Дата 1.10.2003, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 25
Всего: 232



ЗЫ, а ещё в MFC есть классный класс CFileFind smile.gif


--------------------
user posted image
PM MAIL WWW   Вверх
Peter
Дата 2.10.2003, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 28.7.2003
Где: Ставрополь

Репутация: -1
Всего: 1



А, по-моему, в ios.h есть что-то типа _findfirst, _findnext, _finddata (за последнее не ручаюсь).
Я читал хелп - и этим добром пользовался, как там написано. Все получалось.


--------------------
всё, что делаете, делайте от души, как для Господа (Послание апостола Павла колоссянам, 3:23).
PM MAIL WWW   Вверх
NULL
Дата 2.10.2003, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 22.8.2003

Репутация: нет
Всего: нет



спасиба попробую
PM MAIL ICQ   Вверх
malor
  Дата 22.6.2011, 16:59 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 632
Регистрация: 17.11.2006

Репутация: нет
Всего: нет



Цитата(Ars @  1.10.2003,  12:44 Найти цитируемый пост)
Пример из MSDN
Как этот пример поясняет вычисление объема по nFileSizeHigh  и nFileSizeLow 

PM MAIL   Вверх
xvr
Дата 23.6.2011, 10:39 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



Цитата(malor @ 22.6.2011,  16:59)
Цитата(Ars @  1.10.2003,  12:44 Найти цитируемый пост)
Пример из MSDN
Как этот пример поясняет вычисление объема по nFileSizeHigh  и nFileSizeLow ?

Думаю, что за 8 лет ТС все же вычислил то, что ему было надо   smile 

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1147 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.