25{
28
29 string file_name = "test_file.txt";
31
32 try {
33
34 JParser<> zap(
"Example program to test file streaming.");
35
36 zap[
'f'] =
make_field(file_name) =
"test_file.txt";
38
39 zap(argc, argv);
40 }
41 catch(const exception &error) {
42 FATAL(error.what() << endl);
43 }
44
45
47
48 data_in.push_back("hello");
49 data_in.push_back("world");
50
51 {
52 int fd =
open(file_name.c_str(), O_RDWR | O_CREAT | O_TRUNC, 0666);
53
55
57
58 for (vector<string>::const_iterator i = data_in.begin(); i != data_in.end(); ++i) {
59 os << *i << endl;
60 }
61
63 }
64
66
67 {
68 int fd =
open(file_name.c_str(), O_RDWR);
69
71
73
74 for (
string buffer;
getline(is,buffer); ) {
75 data_out.push_back(buffer);
76 }
77
79 }
80
81 if (
debug >= debug_t) {
82 cout <<
"data_in ";
copy(data_in .begin(), data_in .end(), ostream_iterator<string>(cout,
" ")); cout << endl;
83 cout <<
"data_out ";
copy(data_out.begin(), data_out.end(), ostream_iterator<string>(cout,
" ")); cout << endl;
84 }
85
86 ASSERT(data_in == data_out);
87
88 return 0;
89}
#define ASSERT(A,...)
Assert macro.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Utility class to parse command line options.
void copy(const Head &from, JHead &to)
Copy header from from to to.
void close(std::istream *pf)
Close file.
T * open(const std::string &file_name)
Open file.
std::istream & getline(std::istream &in, JString &object)
Read string from input stream until end of line.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).