吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 964|回复: 2
收起左侧

[求助] 关于文件大小的疑惑

[复制链接]
A学习的小菜鸟 发表于 2020-2-5 15:12
有一个题目,将记事本的.exe文件读取到内存,并返回读取后在内存中的地址,并且将内存中的数据存储到另一个文件中,(.exe格式),然后双击打开,看是否能够使用.
本人写出来这个代码,将记事本读到内存中,然后再将内存的数据在读取到文件中
代码如下
#include "stdafx.h"       
#include <stdlib.h>
#include <windows.h>
int main(int argc, char* argv[])
{
        unsigned int num=0;
        void* pf;
        FILE* p=fopen("C:\\Windows\\system32\\notepad.exe","rb");
        if (p==NULL)
        {
                printf("error!\n");
        }
        printf("ok!\n");
        fseek(p,0,SEEK_END);
        num=ftell(p);
        fseek(p,0,SEEK_SET);
        pf=malloc(num);
        if(pf==NULL)
        {
                printf("error!\n");
        }
        unsigned int n=fread(pf,num,1,p);
        fclose(p);
        printf("%x\n",pf);
        FILE* p1=fopen("c:\\note.exe","wb");
        if(p1==NULL)
        {
                printf("error!\n");
        }
        else
        {
                unsigned int ret=fwrite(pf,num,1,p1);
        }
        fclose(p1);
        free(pf);
        return 0;
}
问题是自己存盘后的大小和系统本身记事本的大小不一致,但是功能和其他都是一样的,大小不一样这是什么原因呢??求指教
2.jpg
1.jpg

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

我乃小明 发表于 2020-2-5 15:55
1T硬盘为例
厂商计算方式
1T=1,000G=1,000,000MB=1,000,000,000KB=1,000,000,000,000Byte(字节)
电脑计算方式
1,000,000,000,000字节=976,562,500KB≈953,674.316MB≈931.323GB
zhang20010713 发表于 2020-2-5 16:03
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 20:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表