004
20.07.2007, 15:56 Uhr
xXx
Devil
|
Nja ist aber mit C++ einfacher zu machen ^^
C++: |
std::string str("Hallo@4#Papa@2"); std::map<unsigned int, std::string> found; for (std::size_t pos = str.find_first_of('@'); pos != std::npos; pos = str.find_first_of('@')) { std::size_t pos_end = str.find_first_of('#', pos + 1); if (pos_end == std::string::npos) throw std::logical_error("Invalid string!");
std::ostringstream ss(str.substr(pos + 1, pos_end)); unsigned int num = 0; ss >> num; found[num] = str.substr(0, pos); str.erase(0, pos_end); }
|
oder so ... ist aber nicht gerade optimiert ^^ Das bleibt dann bei dir ... Dieser Post wurde am 20.07.2007 um 15:58 Uhr von xXx editiert. |