#include <stdio.h>
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
int main()
{
fstream out,in;
double n_record;
int h=0;
in.open("C:\\Users\\roc\\Desktop\\roc",ios::in|ios::binary);
out.open("C:\\Users\\roc\\Desktop\\rocroc.txt",ios::out|ios::binary);
char str[100];
//out.seekg(10,ios::beg);
in.seekp(56,ios::beg);
in.read((char*)str,sizeof(str));
for(int i=0;i<100;i++)
out<<hex<<(int)str[i];
n_record=((int)str[0]/10)*16+((int)str[0]%10)+
((int)str[1]/10)*16*16*16+((int)str[1]%10)*16*16+
((int)str[2]/10)*16*16*16*16*16*16+((int)str[2]%10)*16*16*16*16+
((int)str[2]/10)*16*16*16*16*16*16*16+((int)str[2]%10)*16*16*16*16*16;
cout<<"模块数为:"<<n_record<<endl;
//out.write((char*)str,sizeof(str));
for(int i=0;i<100;i++)
{
cout<<hex<<std::left<<setw(8)<<(int)str[i]<<" ";
h++;
if(h%9==0)cout<<endl;
}
//printf("%d\n",str[i]);
/// 你是以字符形式输出的,很多字符不是可显示字符,所以不行要用16进制输出
in.close();
out.close();
system("pause");
return 0;
}
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
int main()
{
fstream out,in;
double n_record;
int h=0;
in.open("C:\\Users\\roc\\Desktop\\roc",ios::in|ios::binary);
out.open("C:\\Users\\roc\\Desktop\\rocroc.txt",ios::out|ios::binary);
char str[100];
//out.seekg(10,ios::beg);
in.seekp(56,ios::beg);
in.read((char*)str,sizeof(str));
for(int i=0;i<100;i++)
out<<hex<<(int)str[i];
n_record=((int)str[0]/10)*16+((int)str[0]%10)+
((int)str[1]/10)*16*16*16+((int)str[1]%10)*16*16+
((int)str[2]/10)*16*16*16*16*16*16+((int)str[2]%10)*16*16*16*16+
((int)str[2]/10)*16*16*16*16*16*16*16+((int)str[2]%10)*16*16*16*16*16;
cout<<"模块数为:"<<n_record<<endl;
//out.write((char*)str,sizeof(str));
for(int i=0;i<100;i++)
{
cout<<hex<<std::left<<setw(8)<<(int)str[i]<<" ";
h++;
if(h%9==0)cout<<endl;
}
//printf("%d\n",str[i]);
/// 你是以字符形式输出的,很多字符不是可显示字符,所以不行要用16进制输出
in.close();
out.close();
system("pause");
return 0;
}
本文介绍了一个使用C++进行文件读取的例子,并展示了如何将读取的数据转换为十六进制形式输出。此外,还演示了如何从特定偏移位置开始读取数据并计算一个基于字符的双精度浮点数值。
608

被折叠的 条评论
为什么被折叠?



