首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 菜鸟请教关于硬盘写入的问题! [已结贴,结贴人:snoopy_88]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • snoopy_88
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-08-21 10:29:57 楼主
    各位高手!小弟现在学习过程中遇到问题,希望把一个int 数值写入硬盘;但是找了很长时间,都需要把 int数值转换成string或者char形式;这样的话,不论是写入文本还是二进制写入,本来只有一个字节的int数值写出来都是好几个字节。有没有什么方法,内存中占一个字节的int数值写入硬盘后还是一个字节呢?

    小弟顿首!
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhkefa
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 10:39:571楼 得分:0
    不理解你的意思,还有int什么时候变一字节了?
    写数据进硬盘,什么格式写入,就用什么格式读取,,
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zoulie
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 10:50:272楼 得分:0
    直接写int每次写4个字节
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • socoola
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 10:51:193楼 得分:20
    首先,int类型的数据在内存中占4个字节(32位系统),不是只有一个字节。
    如果你确认你的数据都小于255,可以强制转换成char类型,写入的时候就是一个字节。
    比如
    int a = 10;
    char c = (char)a;

    frite(&c, 1, 1, fp);
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jia_xiaoxin
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 10:53:134楼 得分:0
    int在win32下是4个字节,怎么会是一个呢。
    除非你定义时把它定义为char类型,写入文件时才会是一个字节。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • snoopy_88
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 11:33:575楼 得分:0
    哦!多谢各位指点!!小生受益匪浅!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • snoopy_88
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 11:36:336楼 得分:0
    我需要写入的是图像像素的灰度值,是可以确定范围在0~255的!看来用char转换的方式可以解决问题啊!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • rollrock1987
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 11:39:187楼 得分:0
    UP
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved