帮忙看一下此程序

rgiman 2009-05-10 11:02:28
我想从文本文件读入一个字符,然后把它的十六进制表示法赋值给i,但是不能达到我的目的,
请各位大侠帮忙,谢谢!

#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>

void main(){
ifstream infile;
infile.open("temp.txt");
int i;
if(!infile){
cout<<"This is a error!"<<endl;
abort();
}
while(!infile.eof()){
infile.read((char*)&i,sizeof(int));
cout<<i<<" ";
}
infile.close();

}

...全文
90 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
caremsi 2009-05-11
  • 打赏
  • 举报
回复
帮顶
  • 打赏
  • 举报
回复
从文件里读出来到char型数据,然后atoi就得到了int数据值。
至于16进制,那只是显示方式而已。
慧眼识狗熊 2009-05-10
  • 打赏
  • 举报
回复
读进来的是sizeof(int),4字节。
但你实际上想要的只是一个字符,char,即1字节。所以出错。

代码楼上那位给了。我给解释下。
adventurelw 2009-05-10
  • 打赏
  • 举报
回复
1楼的差不多了
输出16进制的话
添加cout << hex和头文件#include <iomanip>
晒月光的青蛙 2009-05-10
  • 打赏
  • 举报
回复

#include <iostream.h>
#include <fstream.h>
#include <stdlib.h>
void main()
{
ifstream infile;
infile.open("temp.txt");
char ch;
if(!infile){
cout <<"This is a error!" <<endl;
return;
}
while(!infile.eof()){
infile.read(&ch,sizeof(char));
cout <<(int)ch <<" ";
}
infile.close();

}

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧