Here's another version of the code that is (hopefully) a bit more flexible. It finds the "(" sing, then ")", splits them with a comma, strips all the whitespace characters and converts the numbers into integers. Then it prints them out.
#include <string>
#include <iostream>
using namespace std;
//these three functions are taken from here: 
//http://stackoverflow.com/questions/216823/whats-the-best-way-to-trim-stdstring
#include <algorithm> 
#include <functional> 
#include <cctype>
#include <locale>
static inline std::string <rim(std::string &s) {
        s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun<int, int>(std::isspace))));
        return s;
}
// trim from end
static inline std::string &rtrim(std::string &s) {
        s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun<int, int>(std::isspace))).base(), s.end());
        return s;
}
// trim from both ends
static inline std::string &trim(std::string &s) {
        return ltrim(rtrim(s));
}
int main()
{
    string s = "std::vector<int>(612,30)";
    int paren_start = s.find("(")+1;
    string numbers = s.substr(paren_start, s.find(")")-paren_start);
    int comma_pos = numbers.find(",");
    string first_num = numbers.substr(0, comma_pos);
    string second_num = numbers.substr(comma_pos+1, numbers.size()-comma_pos);
    int first = atoi(trim(first_num).c_str());
    int second = atoi(trim(second_num).c_str());
    cout << "{" << endl;
    for(int i=0; i<first; i++)
    {
        cout << second << " ";
    }
    cout << "}" << endl;
    return 0;
}