Пользуйтесь всеми преимуществами STL в с++. strtok в нем не очень нужен.
#include <string>
#include <iostream>
#include <stdexcept>
int r1_input(const std::string& str)
{
using namespace std;
string varname = "r1_input=";
auto start = str.find(varname);
if (start == string::npos)
throw invalid_argument(varname+ " not found");
start += varname.size();
auto end = str.find("?", start);
size_t len = (end == string::npos) ? string::npos : end-start;
return stoi(str.substr(start, len));
}
int main()
{
std::string input = "GET /set?r1_input=123?&nocache=885898.3828703746 HTTP/1.1";
std::cout << r1_input(input) << std::endl;
system("pause");
return 0;
}