Как узнать размер файла в C++ x64? [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как узнать размер файла в C++ x64? [закрыто]

Сообщение Anonymous »

Я использовал эту функцию C++, чтобы получить размер большого текстового файла размером 5 ГБ:

Код: Выделить всё

_int64 FileSize(const wchar_t* name)
{
WIN32_FILE_ATTRIBUTE_DATA fad;
if (!GetFileAttributesEx(name, GetFileExInfoStandard, &fad))
return -1; // error condition, could call GetLastError to find out more
LARGE_INTEGER size;
size.HighPart = fad.nFileSizeHigh;
size.LowPart = fad.nFileSizeLow;
return size.QuadPart;
}
5 лет назад в Visual Studio x64 это работало хорошо. После недавних обновлений Visual Studio он перестал работать. Как это исправить?
Я пытался использовать функцию _stat64(), но возникла проблема с преобразованием wchar_t* в char*:

Код: Выделить всё

_int64 FileSize(const wchar_t* name) {
struct _stat64i32 buf;
int result;
char timebuf[26];
//char* filename = "crt_stat.c";
errno_t err;

result = _wstat64(name, &buf);
return buf.st_size;
}
Но я получаю эту ошибку:

Аргумент типа «_stat64i32 *» несовместим с параметром типа "_stat64 *".


Подробнее здесь: https://stackoverflow.com/questions/788 ... e-in-c-x64
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»