00001 #ifndef __METACC_UTILS_H__ 00002 #define __METACC_UTILS_H__ 00003 00004 #include "vector" 00005 #include "string" 00006 00007 namespace MetaCC 00008 { 00010 std::string int2str(int n) 00011 { 00012 std::string s; 00013 while (n) { 00014 s = std::string(1, n % 10 + '0') + s; 00015 n /= 10; 00016 } 00017 if (s.length() == 0) 00018 s = "0"; 00019 return s; 00020 } 00021 00023 std::string str_replace_all(std::string str, std::string substr, std::string replacement) 00024 { 00025 std::string result; 00026 std::string::size_type p = 0; 00027 std::string::size_type last_p = 0; 00028 std::string::size_type str_len = str.length(); 00029 std::string::size_type substr_len = substr.length(); 00030 00031 while (std::string::npos != (p = str.find(substr, p))) { 00032 result += str.substr(last_p, p - last_p) + replacement; 00033 last_p = p = p + substr_len; 00034 } 00035 result += str.substr(last_p, str_len - last_p); 00036 00037 return result; 00038 } 00039 } 00040 00041 #endif