私はこの基本的な機能を書きました:
int save_files(PCHAR fileName)
{
errno_t err;
FILE* pFile = NULL;
do
{
if (!fileName)
{
printf("Input is NULL \n");
break;
}
err = fopen_s( &pFile, fileName, "r");
if(0 != err)
{
printf("The file %s was not opened for reading\n", fileName);
}
else
{
printf("The file %s was opened for reading \n", fileName);
}
/*getting the fileSize */
fileSize = dbg_getFileSize(pFile);
printf("############# FILE SIZE IS : %d #############\n" );
}
これはファイルサイズを取得する関数です:
UINT32 dbg_getFileSize(FILE *file)
{
UINT32 size = 0 ;
if (file == NULL)
{
return -1;
}
fseek(file , 0L , SEEK_END);
size = ftell(file);
fseek(file, 0L, SEEK_SET);/*set it to the head!!! */
return size;
}
私はいつも同じパスを開き、「r」と「rb」で開くたびに異なるサイズを取得しますが、それでも同じ異なる番号を取得します..