Как узнать размер файла в 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

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