QimenMedlem sedan juni 20015 009 inlägg Hej,
Går det att omvandla en sträng till char?
Eller hur kan jag annars lösa detta? Plockar ut en rad från en textfil som hamnar i en string varde;. Den strängen vill jag sedan splitta vid varje mellanrum, tänkte använda strtok men då måste ju den vara i char. :)
spangoMedlem sedan juni 20008 205 inlägg strtok ska man aldrig använda (står det i manualen), inte ens om man bara skämtar, men för att göra om en string till en char* använder man thestring.c_str()
QimenMedlem sedan juni 20015 009 inlägg Hur ska man splitta en sträng på bästa sätt då? (sökte och hittade svar av bl.a. dig där det användes strtok ;) ).
QimenMedlem sedan juni 20015 009 inlägg Den rad jag läser in från textfilen ser ut så här:
1 > 00:00:00:00:00:00 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0
Vill dela vid varje mellanslag och smacka in det i en array. :)
spangoMedlem sedan juni 20008 205 inlägg
Qimen skrev:
(sökte och hittade svar av bl.a. dig där det användes strtok ;) ).
Levde jag som jag lärde skulle jag ha det ännu tristare än jag har det idag ;)
Om man ändå använder C++ är det rätt enkelt att smäcka ihop en själv, här är ett smakprov ut mitt personliga kodbibliotek (måttligt testad, förmodligen buggig, etc):
void strsplit(vector<string> &outcome, const string& str, const string& delims){
int begin = 0, end;
do {
end = str.find_first_of(delims, begin);
if (end == string::npos)
end = str.length();
outcome.push_back(str.substr(begin, end - begin));
begin = str.find_first_not_of(delims, end);
} while (begin != string::npos);
}
...
vector<string> words;
strsplit(words, "There is no spoon!", " ");
// words = ["There", "is", "no", "spoon!"]
QimenMedlem sedan juni 20015 009 inlägg Behöver man inkludera någon extra fil för den funktionen? Får det inte att fungera (är helt ny på c++ så gör säkert många fel. :) ).
1.cpp:12: error: `vector' was not declared in this scope
1.cpp:12: error: `string' was not declared in this scope
1.cpp:12: error: `outcome' was not declared in this scope
spangoMedlem sedan juni 20008 205 inlägg Japp, vector och string måste inkluderas, och sen måste du using:a std:
#include <string>
#include <vector>
using namespace std;
\r Såg en vårta i koden, snyggade till (allt för Qimen :f )