帮忙看一下此程序

rgiman 2009-05-10 11:05:13
我想从文本文件读入一个字符,然后把它的16进制表示法赋值给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();

}
...全文
45 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lizhaohu 2009-05-10
  • 打赏
  • 举报
回复
#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(reinterpret_cast<char*>(&i),sizeof(int));
cout <<i <<" ";
}
infile.close();

}
rgiman 2009-05-10
  • 打赏
  • 举报
回复
问题已解决,感谢大家的帮助!!!
结贴
晒月光的青蛙 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();

}

改好了
josephwuxiaameng 2009-05-10
  • 打赏
  • 举报
回复
逻辑上就有错!
十六进制只是给人看的,在机器里就只有01。
只是输出形式不同。
sherrik 2009-05-10
  • 打赏
  • 举报
回复
直接用二进制打开吧
rgiman 2009-05-10
  • 打赏
  • 举报
回复
比如说
ch='a',则i=97
ch='b',则i=98

64,639

社区成员

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

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