C++流の大まかな運用
/*
* File: main.cpp
* Author: Vicky.H
* Email: [email protected]
*/
#include <iostream>
#include <fstream>
#include <sstream>
#include <cstring>
class A {
public:
friend std::ostream& operator<<(std::ostream& os, const A& ref);
friend std::istream& operator>>(std::istream& is, A& ref);
A() { }
A(const char* name, short age) : age(age) {
strcpy(this->name, name);
}
private:
char name[21];
short age;
};
std::ostream& operator<<(std::ostream& os, const A& ref) {
os << ref.name << '
' /** */ << ref.age;
return os;
}
std::istream& operator>>(std::istream& is, A& ref) {
is >> ref.name >> ref.age;
return is;
}
/*
*
*/
int main(void) {
//
std::ofstream ofs("./tmp.txt", std::ios::trunc | std::ios::binary);
ofs << A("Lily", 25); //
ofs.flush();
ofs.close();
std::ifstream ifs("./tmp.txt", std::ios::in | std::ios::binary);
A a2;
ifs >> a2; // ,
ifs.close();
std::cout << a2 << std::endl;
std::cout << "---------------------------" << std::endl;
//
std::ostringstream oss; //
oss << A("string",99);
oss.flush(); //
std::cout << oss.str() << std::endl;
std::string str("test
123");
std::istringstream iss(str); //
A a3;
iss >> a3; //
iss.sync(); //
std::cout << a3 << std::endl;
std::cout << "---------------------------" << std::endl;
//
std::cout << A("Vicky", 25) << std::endl;
A a;
std::cout << "input A just like:
Vicky
25" << std::endl;
std::cin >> a;
std::cout << a << std::endl;
std::cout << "---------------------------" << std::endl;
return 0;
}
Lily
25
---------------------------
string
99
test
123
---------------------------
Vicky
25
input A just like:
Vicky
25
ooxx
1002
ooxx
1002
---------------------------