Здесь, когда я получаю размер файла, используя stat()
, он дает другой вывод, почему он ведет себя так?
Когда "huffman.txt" содержит простую строку типа "Привет, как дела", он даетfile_size = 14
.Но когда «huffman.txt» содержит строку типа «U¬SUä5Ñ®qøá« F », это дает file size = 30
.
#include <sys/stat.h>
#include <stdio.h>
int main()
{
int size = 0;
FILE* original_fileptr = fopen("huffman.txt", "rb");
if (original_fileptr == NULL) {
printf("ERROR: fopen fail in %s at %d\n", __FUNCTION__, __LINE__);
return 1;
}
/*create variable of stat*/
struct stat stp = { 0 };
stat("huffman.txt", &stp);
/*determine the size of data which is in file*/
int filesize = stp.st_size;
printf("\nFile size is %d\n", filesize);
}