您的位置:首页 > 其它

文件部分-----(5)二进制文件内容大小的计算

2013-06-24 13:22 267 查看
因为字符以已二进制方式和ASCII文件存储是相同的,因为字符在内存中就存放字符对应的ASCII。

数字以二进制方式和ASCII文件存储是不同的。

(1)存字符到二进制文件中

/*gyy3.txt二进制文件内容大小计算方法*/
/*gyy3.txt二进制文件内容存的是字符*/
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ofstream outFile("gyy3.txt",ios::binary);//建立一个输出文件流,以二进制方式ios::binary打开文件gyy3.txt
if(!outFile) //文件打开失败,退出程序
{
cout<<"文件打开失败,退出程序。。。"<<endl;
exit(1);
}
char p[]="1234567890";
outFile.write(p,strlen(p));
outFile.close();

ifstream  inFile("gyy3.txt",ios::binary); //建立一个输入文件流,以二进制方式ios::binary打开文件gyy3.txt
if(!inFile) //文件打开失败,退出程序
{
cout<<"文件打开失败,退出程序。。。"<<endl;
exit(1);
}

long int i,j,length;
inFile.seekg (0,ios::beg); //将读取指针移动到文件开始位置
i= inFile.tellg(); //获取读取指针初始位置
inFile.seekg (0,ios::end);  //将读取指针移动到文件结尾,注意此处inFile.seekg (ios::end);则出现错误结果,计算结果不对
j=inFile.tellg(); //获取读取指针当前位置
length=j-i; //二进制文件内容大小(字节)

cout<<"当前读入的二进制文件的大小为:"<<length<<"个字节."<<endl;

inFile.close();  //关闭当前流对象关联的文件
return 0;
}




 



 

(2)存整数到二进制文件中

/*gyy4.txt二进制文件内容大小计算方法*/
/*gyy4.txt二进制文件内容存的是整数*/
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ofstream outFile("gyy4.txt",ios::binary);//建立一个输出文件流,以二进制方式ios::binary打开文件gyy4.txt
if(!outFile) //文件打开失败,退出程序
{
cout<<"文件打开失败,退出程序。。。"<<endl;
exit(1);
}
int p[]={1,2,3,4,5,6,7,8,9,0};
outFile.write((char *)p,sizeof(p));
outFile.close();

ifstream  inFile("gyy4.txt",ios::binary); //建立一个输入文件流,以二进制方式ios::binary打开文件gyy4.txt
if(!inFile) //文件打开失败,退出程序
{
cout<<"文件打开失败,退出程序。。。"<<endl;
exit(1);
}

long int i,j,length;
inFile.seekg (0,ios::beg); //将读取指针移动到文件开始位置
i= inFile.tellg(); //获取读取指针初始位置
inFile.seekg (0,ios::end);  //将读取指针移动到文件结尾,注意此处inFile.seekg (ios::end);则出现错误结果,计算结果不对
j=inFile.tellg(); //获取读取指针当前位置
length=j-i; //二进制文件内容大小(字节)

cout<<"当前读入的二进制文件的大小为:"<<length<<"个字节."<<endl;

inFile.close();  //关闭当前流对象关联的文件
return 0;
}




 



 

直接开打gyy4.txt,看到的内容并不是我们直接存入的,是因为文件中存的是二进制形式。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: