我需要每个读取 16 个字节(因为我需要单独加密每个 16 个字节的块)使用 for 循环它不起作用。无法弄清楚我在哪里错过它:(
我的完整代码
typedef unsigned char BYTE;
FILE *fp;
BYTE buffer[16] = {0x00};
int i;
int lastBlock;
int main (int argc, char *argv[])
{
int x;
fp = fopen(argv[1], "r");
fseek(fp, 0, SEEK_END);
int fileSize = ftell(fp);
fseek(fp, 0, SEEK_SET);
lastBlock = fileSize - 16;
printf("FileSize %d \n", fileSize);
printf("Lastblcok %d \n", lastBlock);
for(x = 0; x < lastBlock; i+16){
fread(buffer, 1, 16, fp);
printf("%s\n", buffer);
}
return(0);
}
我的错误是什么?最后一个块变量很好。它打印出垃圾。它只是一个纯文本文件。