文件的二进制读写及文本读写 两个实例
2009-03-01 22:08
274 查看
#include <fstream>
#include <iostream>
using namespace std;
class Dog
{
private:
int weight;
int age;
public:
Dog(int x=0,int y=0)
{
weight = x;
age = y;
}
void displayDetails()
{
cout << weight << "," << age <<endl;
}
};
int main()
{
Dog dog1(5,10);
//ofstream fout("dogs.dat");
ofstream fout("dogs.dat",ios_base::binary);
fout.write((char *) &dog1,sizeof(dog1));
fout.close();
Dog dog2;
//ifstream fin("dogs.dat");
ifstream fin("dogs.dat",ios_base::binary);
fin.read((char *) &dog2,sizeof dog2);
dog2.displayDetails();
fin.close();
system("pause");
return 0;
}
//////////////////////////////////////
#include <iostream>
#include <fstream>
using namespace std;
#ifdef WIN32
#define TEST_FILE "c://tmp//test.txt"
#else
#define TEST_FILE "/tmp/test.txt"
#endif
void test()
{
{
//fstream sfs;
//sfs.open(TEST_FILE, ios_base::out);
fstream sfs(TEST_FILE, ios_base::out);
char buf[] = "1234567890";
sfs.write(buf, sizeof(buf));
sfs.close();
}
{
int len;
char* buf;
//fstream sfs;
//sfs.open(TEST_FILE);
fstream sfs(TEST_FILE);
sfs.seekg (0, ios::end);
len = sfs.tellg();
sfs.seekg (0, ios::beg);
buf = new char[len];
sfs.read(buf, len);
cout << buf << endl;
delete []buf;
sfs.close();
}
}
int main(int argc, char* argv[])
{
test();
return 0;
}
#include <iostream>
using namespace std;
class Dog
{
private:
int weight;
int age;
public:
Dog(int x=0,int y=0)
{
weight = x;
age = y;
}
void displayDetails()
{
cout << weight << "," << age <<endl;
}
};
int main()
{
Dog dog1(5,10);
//ofstream fout("dogs.dat");
ofstream fout("dogs.dat",ios_base::binary);
fout.write((char *) &dog1,sizeof(dog1));
fout.close();
Dog dog2;
//ifstream fin("dogs.dat");
ifstream fin("dogs.dat",ios_base::binary);
fin.read((char *) &dog2,sizeof dog2);
dog2.displayDetails();
fin.close();
system("pause");
return 0;
}
//////////////////////////////////////
#include <iostream>
#include <fstream>
using namespace std;
#ifdef WIN32
#define TEST_FILE "c://tmp//test.txt"
#else
#define TEST_FILE "/tmp/test.txt"
#endif
void test()
{
{
//fstream sfs;
//sfs.open(TEST_FILE, ios_base::out);
fstream sfs(TEST_FILE, ios_base::out);
char buf[] = "1234567890";
sfs.write(buf, sizeof(buf));
sfs.close();
}
{
int len;
char* buf;
//fstream sfs;
//sfs.open(TEST_FILE);
fstream sfs(TEST_FILE);
sfs.seekg (0, ios::end);
len = sfs.tellg();
sfs.seekg (0, ios::beg);
buf = new char[len];
sfs.read(buf, len);
cout << buf << endl;
delete []buf;
sfs.close();
}
}
int main(int argc, char* argv[])
{
test();
return 0;
}
相关文章推荐
- 文件读写:fwrite与fprintf的区别(即二进制方式和文本方式的区别)
- 二十七 fopen 中 按文本读写与按二进制读写 实例
- 文件读写: 二进制方式和文本方式的区别
- Java -- JDBC mysql读写大数据,文本 和 二进制文件
- 【C/C++学院】0826-文件重定向/键盘输入流/屏幕输出流/字符串输入输出/文件读写简单操作/字符文件读写二进制与文本差别/get与getline挖掘数据/二进制与文本差别/随机位置/多线程初级
- 文件读写:fwrite与fprintf的区别(即二进制方式和文本方式的区别)
- 文件读写:fwrite与fprintf的区别(即二进制方式和文本方式的区别)
- Java -- JDBC mysql读写大数据,文本 和 二进制文件
- 重新想象 Windows 8 Store Apps (23) - 文件系统: 文本的读写, 二进制的读写, 流的读写, 最近访问列表和未来访问列表
- 文件读写: 二进制方式和文本方式的区别
- 文件读写(文本形式/二进制形式)
- 文件读写:fwrite与fprintf的区别(即二进制方式和文本方式的区别)
- MySQL---数据库从入门走向大神系列(九)-用Java向数据库读写大文本/二进制文件数据
- 【C/C++学院】0826-文件重定向/键盘输入流/屏幕输出流/字符串输入输出/文件读写简单操作/字符文件读写二进制与文本差别/get与getline挖掘数据/二进制与文本差别/随机位置/多线程初级
- FileReader除了有函数readAsDataURL,另外还有另外两个函数readAsBinaryString 和 readAsText,分别可以将选择的文件读取成二进制和文本格式
- 重新想象 Windows 8 Store Apps (23) - 文件系统: 文本的读写, 二进制的读写, 流的读写, 最近访问列表和未来访问列表
- 【Java】JDBC向MYSQL读写大文本和二进制文件
- fopen 中 按文本读写与按二进制读写 实例
- 文件读写: 二进制方式和文本方式的区别
- 关于文件的文本读写和二进制读写