| kemi (statz) | ![]() #2, Főfasz (2982) |
1454 | #215f | ^ | Idézet | Wed, 07 Nov 2012 15:53:05 +01 |
| 193.224.*.* |
|
193.224.*.* |
| A C++ valamiért nem szereti a dinamikus stringtömböket, úgyhogy vektorral valósítottam meg. Persze lehet írni egy stringvektor osztályt amibe ezeket be lehet rakni metódusként. C++-szal azért már talán többen foglalkoznak. StrArrFunc.h #ifndef STRARRFUNC_H_ #define STRARRFUNC_H_ #include <iostream> #include <vector> using namespace std; void SplitString(string s, char delim, vector<string>* dest); string GlueArray(vector<string> src, char delim); long int ArrayPosition(vector<string> data, string search); #endif /* STRARRFUNC_H_ */ StrArrFunc.cpp #include "StrArrFunc.h"
using namespace std;
void SplitString(string s, char delim, vector<string>* dest) {
int count = 0;
string sub = "";
int l = s.length();
for (int i = 0; i < l; i++) {
if (s[i] == delim) {
count++;
dest->push_back(sub);
sub = "";
} else {
sub += s[i];
}
}
dest->push_back(sub);
}
string GlueArray(vector<string> src, char delim) {
string GlueArray = "";
long int l = src.size() - 1;
if (l > -1) {
for (int i = 0; i < l; i++) {
GlueArray += src[i];
GlueArray += delim;
}
GlueArray += src[l];
}
return GlueArray;
}
long int ArrayPosition(vector<string> data, string search) {
long int l = data.size();
for (long int i = 0; i < l; i++) {
if (data[i] == search) {
return i;
}
}
return -1;
} |