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.
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()
(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!"]
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