📄 stltest.cxx
字号:
//-< STLTEST.CXX >---------------------------------------------------*--------*
// POST++ Version 1.0 (c) 1998 GARRET * ? *
// (Persistent Object Storage) * /\| *
// * / \ *
// Created: 31-May-99 K.A. Knizhnik * / [] \ *
// Last update: 31-May-99 K.A. Knizhnik * GARRET *
//-------------------------------------------------------------------*--------*
// Example of using STL classes with POST++
//-------------------------------------------------------------------*--------*
#include "post_stl.h"
#include "iostream"
#include "vector"
#include "string"
#ifndef NO_NAMESPACES
using namespace std;
#endif
typedef vector<string> text;
int main()
{
storage sto("teststl.odb");
if (sto.open(storage::fixed)) {
text* root = (text*)sto.get_root_object();
if (root != NULL) {
for (text::iterator i = root->begin();
i != root->end(); i++)
{
cout << *i << '\n';
}
} else {
root = new (sto) text;
sto.set_root_object((object*)root);
}
cout << "\nAdd some lines. Terminate input with empty line.\n";
while (true) {
char buf[256];
cin.getline(buf, sizeof buf);
if (*buf == '\0') {
cout << "End of session\n";
sto.flush();
sto.close();
return EXIT_SUCCESS;
}
root->push_back(*new (sto) string(buf));
}
} else {
cerr << "Failed to open storage\n";
return EXIT_FAILURE;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -