annotate BEDTools-Version-2.14.3/src/utils/Fasta/split.cpp @ 0:dfcd8b6c1bda

Uploaded
author aaronquinlan
date Thu, 03 Nov 2011 10:25:04 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
1 #include "split.h"
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
2
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
3 std::vector<std::string> &split(const std::string &s, char delim, std::vector<std::string> &elems) {
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
4 std::stringstream ss(s);
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
5 std::string item;
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
6 while(std::getline(ss, item, delim)) {
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
7 elems.push_back(item);
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
8 }
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
9 return elems;
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
10 }
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
11
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
12 std::vector<std::string> split(const std::string &s, char delim) {
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
13 std::vector<std::string> elems;
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
14 return split(s, delim, elems);
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
15 }
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
16
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
17 std::vector<std::string> &split(const std::string &s, const std::string& delims, std::vector<std::string> &elems) {
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
18 char* tok;
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
19 char cchars [s.size()+1];
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
20 char* cstr = &cchars[0];
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
21 strcpy(cstr, s.c_str());
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
22 tok = strtok(cstr, delims.c_str());
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
23 while (tok != NULL) {
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
24 elems.push_back(tok);
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
25 tok = strtok(NULL, delims.c_str());
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
26 }
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
27 return elems;
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
28 }
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
29
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
30 std::vector<std::string> split(const std::string &s, const std::string& delims) {
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
31 std::vector<std::string> elems;
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
32 return split(s, delims, elems);
dfcd8b6c1bda Uploaded
aaronquinlan
parents:
diff changeset
33 }