0
看到我的代碼是需要幫助理解這個代碼的輸出
#include <stdio.h>
#include<stdlib.h>
#include<sys/stat.h>
int main(int argc, char**argv) {
unsigned char *message = NULL;
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 id %d\n", filesize);
FILE* original_fileptr = fopen("huffman.txt", "r");
message = malloc(filesize);
fread(message, 1, filesize, original_fileptr);
printf("\n\tEntered Message for Encode is %s= and length %d", message,strlen(message));
return 0;
}
這裏huffman.txt有大小20個字節,下面的字符是否有
άSUä5Ñ®qøá「F「œ
此代碼的輸出是
File size id 20
Entered Message for Encode is άSUä5Ñ®qøá"F„œ= and length 21
現在q如果size是20,那麼爲什麼長度是21?
「更糟」的範圍從分段違規到信息披露。 – ninjalj
@ninjalj:這是一個編程錯誤的典型例子,它是數百個可以被用於嚴重破壞的嚴重可利用漏洞的核心......事實上,理解這個概念可能是最重要的漏洞之一認識的重要方面 –