/#include <iostream>
//using std::endl; using std::flush; using std::ends;
//using std::unitbuf; using std::nounitbuf; using std::cout;
//
//int main()
//{
// // writes hi and a newline, then flushes the buffer
// cout << "hi!" << endl;
//
// // writes hi, then flushes the buffer; adds no data
// cout << "hi!" << flush;
//
// // writes hi and a null, then flushes the buffer
// cout << "hi!" << ends;
//
// cout << unitbuf; // all writes will be flushed immediately
//
// // any output is flushed immediately, no buffering
// cout << "first" << " second" << endl;
//
// cout << nounitbuf; // returns to normal buffering
//
// return 0;
//}
#include "PersonInfo.h"
#include <iostream>
using std::cerr; using std::cout; using std::endl; using std::cin;
#include <fstream>
using std::ifstream;
using std::ofstream;
#include <sstream>
using std::istringstream;
#include <string>
using std::string;
#include <stdexcept>
using std::runtime_error;
void process(ifstream& is)
{
string s;
while (is >> s)
cout << s << endl;
}
int main(int argc, char* argv[])
{
for each file passed to the program
//for (auto p = argv + 1; p != argv + argc; ++p) {
// ifstream input(*p); // create input and open the file
// if (input) { // if the file is ok, ``process'' this file
// process(input);
// }
// else
// cerr << "couldn't open: " + string(*p);
//} // input goes out of scope and is destroyed on each iteration
//auto p = argv + 1, end = argv + argc;
//ifstream input;
//while (p != end) { // for each file passed to the program
// input.open(*p); // open the file, automatically clears the stream
// if (input) { // if the file is ok, read and ``process'' the input
// process(input);
// }
// else
// cerr << "couldn't open: " + string(*p);
// input.close(); // close file when we're done with it
// ++p; // increment pointer to get next file
//}
//*********************************test 文件输入输出
//ofstream app("output.txt",ofstream::app);
//ifstream in("output.txt");
app << "test for the first sentence."<< '\n';
//string s;
in >> s;
//getline(in, s);
cout << s;
//cout << "tie1";
in.tie(&cout);
//getline(in, s);
//in.close();
//app.close();
//*************************test Program 8.10
ifstream in("personinfo.txt");
string s;
vector <PersonInfo> personmessage;
while (getline(in, s)) {
PersonInfo p;
string PhoneNum;
istringstream record(s);
record >> p.name;
while (record >> PhoneNum) {
p.phoneNum.push_back(PhoneNum);
}
personmessage.push_back(p);
}
cout << personmessage.size();
return 0;
}