#include #include // 関数のプロトタイプ宣言 ULONGLONG GetTotalFileSize(LPCWSTR folderPath); int wmain() { LPCWSTR folderPath = L"C:\\Users\\SEEDAGX\\source\\repos\\FolderSize\\FolderSize\\test\\"; // 対象のフォルダのワイド文字列パスを指定 ULONGLONG totalSize = GetTotalFileSize(folderPath); if (totalSize != 0) { wprintf(L"Total size of files in %s: %llu bytes\n", folderPath, totalSize); } else { wprintf(L"Error calculating total size.\n"); } return 0; } ULONGLONG GetTotalFileSize(LPCWSTR folderPath) { WIN32_FIND_DATA findFileData; WCHAR filePath[MAX_PATH]; if (wcscpy_s(filePath, MAX_PATH, folderPath) == 0 && wcscat_s(filePath, MAX_PATH, L"\\*") == 0) { HANDLE hFind = FindFirstFile(filePath, &findFileData); if (hFind == INVALID_HANDLE_VALUE) { return 0; } ULONGLONG totalSize = 0; do { if (!(findFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) { ULONGLONG fileSize = ((ULONGLONG)findFileData.nFileSizeHigh << 32) | findFileData.nFileSizeLow; totalSize += fileSize; } } while (FindNextFile(hFind, &findFileData) != 0); FindClose(hFind); return totalSize; } else { // エラー処理: フォルダパスが長すぎる場合など return 0; } }