text auf zeichen aufteilen
-
hey
ich hab einen text in einenm char array. wie kann ich den jetzt nach \n aufteilen ?z.b. der text ist
char* str = "123\n456\n789\n";dan soll das aufgeteilte in ein neues array aufgeteil werden das in
char aufgeteil[3][3]dann aufgeteilt[1] = "123" und aufgeteil[2] = "456" und aufgeteil[3] = "789" werden.
-
std::vector<std::string> aufgeteilt; boost::split(str, "string to split", boost::is_any_of(\n"));Wenn du allerdings nach einer C-Lösung suchst, ist strtok was für dich.
-
antiwort schrieb:
std::vector<std::string> aufgeteilt; boost::split(str, "string to split", boost::is_any_of(\n"));Wenn du allerdings nach einer C-Lösung suchst, ist strtok was für dich.
-) boost-lib installieren.
-) #include <boost/algorithm/string.hpp> + #include <vector> + #include <string>
-
Mit Standardmitteln:
#include <deque> #include <sstream> #include <string> // ... std::istringstream tokenizer("123\n456\n789\n"); std::string token; std::deque<std::string> token_list; // Wenn nicht nach \n, sondern nach einem anderen Zeichen gesplittet werden soll: // while(std::getline(tokenizer, token, trenner)) { while(std::getline(tokenizer, token)) { token_list.push_back(token); }