- ベストアンサー
ファイルサイズを得る関数
を探しています 例えばファイル"x.bin"のファイルサイズを求める関数を教えてください
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>標準関数 int filesize; FILE* fp1 = fopen( "file.txt", "rb" ); fseek( fp, 0L, SEEK_END ); filesize = ftell( fp ); fclose( fp ); >STL系 std::fstream fs; fs.open("file.txt" std::ios::binary); fs.seekg(0, std::ios::end ); int filesize = fs.tellg(); fs.close();
その他の回答 (1)
- utf7
- ベストアンサー率29% (11/37)
C言語だとすると、sys/stat.hに定義されているstat構造体のst_sizeで取得することが出来ます。取得に仕方としては、 struct stat buf; stat("x.bin", &buf); /* ファイルはフルパスで記入 */ printf("ファイルサイズは%dです。\n", (int)buf.st_size); となります。
補足
あいがとうございます STL系ではないのでしょうか? 今は仕方なくAPIを使っていて以下のようにしています unsigned Size; HANDLE hFile; hFile=CreateFile("x.bin",0,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); Size=GetFileSize(hFile,NULL); CloseHandle(hFile);
補足
ありがとうございます つかわせていただきます