From 26c490f404731d053a6205719b6246502c07b449 Mon Sep 17 00:00:00 2001
From: Patrick Simianer
Date: Sat, 14 Jun 2014 16:46:27 +0200
Subject: init
---
ccc/split.cc | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)
create mode 100644 ccc/split.cc
(limited to 'ccc/split.cc')
diff --git a/ccc/split.cc b/ccc/split.cc
new file mode 100644
index 0000000..e01ad64
--- /dev/null
+++ b/ccc/split.cc
@@ -0,0 +1,55 @@
+#include
+#include
+#include
+#include
+
+using namespace std;
+
+
+int main(void)
+{
+ string s("a\tb\tc\td");
+ string::iterator it = s.begin();
+ char d = '\t';
+ string tmp;
+ size_t parts = 4;
+ size_t c = 0;
+ while(true) {
+ if (parts > 0 && c == parts-1) {
+ while(it != s.end()) {
+ tmp += *it;
+ it++;
+ }
+ cout << tmp << endl;
+ break;
+ }
+ if (it == s.end()) { cout << tmp << endl; break; }
+ if (*it != d) tmp += *it;
+ else {
+ cout << tmp << endl;
+ tmp.clear();
+ c++;
+ }
+ it++;
+ }
+
+ cout << "---" << endl;
+
+ stringstream ss(s);
+ string si;
+ parts = 0;
+ c = 0;
+
+ while(true)
+ {
+ if (parts > 0 && c == parts-1) {
+ getline(ss, si);
+ cout << si << endl;
+ break;
+ }
+ if(!getline(ss, si, '\t')) break;
+ cout << si << endl;
+ c++;
+ }
+}
+
--
cgit v1.2.3