У меня есть эта функция для работы с POST-запросами клиентов:
ostringstream postRequest(int index, vector<string>parsed, int* statusCode, string* content)
{
string fileName = parsed[1];
if (fileName == "/")
{
fileName = "/index.html";
}
string tmpString(sockets[index].buffer);
int position = tmpString.find("<");
*content = tmpString.substr(position);
ostringstream oStrSVar;
ifstream f(".\\files" + fileName);
// Check if file opened
if (f.good())
{
*statusCode = 204;
oStrSVar << "HTTP/1.1 " << *statusCode << " No Content\r\n";
}
else
{
*statusCode = 201;
oStrSVar << "HTTP/1.1 " << *statusCode << " Created\r\n";
oStrSVar << "Content-Location: files" + fileName << "\r\n";
}
f.close();
//Writing the new content to file
ofstream myfile;
myfile.open(".\\files" + fileName);
myfile << *content;
myfile.close();
return oStrSVar;
}
Проблема в том, что, когда я пытаюсь найти код, я получаю ошибку во время выполнения. Я добавил несколько отпечатков, чтобы проверить, где находится ошибка, и вот эта строка:
*content = tmpString.substr(position);
Я отправляю свой запрос почтальону следующим образом: Я не могу понять, почему мой код не работает, и я буду очень признателен за вашу помощь.