二进制文件写:
#include<iostream>
#include<fstream>
using namespace std;
int main(int argc, char const *argv[])
{
if (argc != 3) {
cout << "File name missing!" << endl;
return 0;
}
ifstream inFile(argv[1], ios::binary|ios::in);
if (!inFile) {
cout << "Source file open error." << endl;
return 0;
}
ofstream outFile(argv[2], ios::binary|ios::out);
if (!outFile) {
cout << "New file open error." << endl;
inFile.close();
return 0;
}
char c;
while (inFile.get(c))
outFile.put(c);
outFile.close();
inFile.close();
return 0;
}
二进制文件读:
#include<iostream>
#include<fstream>
#include<cstring>
using namespace std;
class CStudent {
public:
char szName[20];
int nScore;
};
int main()
{
CStudent s;
ifstream InFile("students.dat", ios::out|ios::binary);
if(!InFile) {
cout << "error" << endl;
return 0;
}
while (InFile.read((char*)&s, sizeof(s))) {
int nReadedBytes = InFile.gcount();
cout << s.szName << " " << s.nScore << endl;
}
InFile.close();
return 0;
}
二进制文件修改:
#include<iostream>
#include<fstream>
#include<cstring>
using namespace std;
class CStudent {
public:
char szName[20];
int nScore;
};
int main()
{
CStudent s;
fstream iofile("students.dat", ios::in|ios::out|ios::binary);
if(!iofile) {
cout << "error" << endl;
return 0;
}
iofile.seekp(2*sizeof(s), ios::beg);
iofile.write("Mike", strlen("Mike")+1);
iofile.seekg(0, ios::beg);
while (iofile.read((char*)&s, sizeof(s))) {
int nReadedBytes = iofile.gcount();
cout << s.szName << " " << s.nScore << endl;
}
iofile.close();
return 0;
}
文件拷贝:
#include<iostream>
#include<fstream>
using namespace std;
int main(int argc, char const *argv[])
{
if (argc != 3) {
cout << "File name missing!" << endl;
return 0;
}
ifstream inFile(argv[1], ios::binary|ios::in);
if (!inFile) {
cout << "Source file open error." << endl;
return 0;
}
ofstream outFile(argv[2], ios::binary|ios::out);
if (!outFile) {
cout << "New file open error." << endl;
inFile.close();
return 0;
}
char c;
while (inFile.get(c))
outFile.put(c);
outFile.close();
inFile.close();
return 0;
}
原文:https://www.cnblogs.com/ruruozhenhao/p/10306557.html