меня вываливается HEAP_CORRUPTION_DETECTED?
void State::SerializeName(std::ofstream& os) const
{
auto spaceSubstitute = GetSpaceSubstitute();
char* serializedName = new char[name.length()]{};
strcpy_s(serializedName, name.length() + 1, name.c_str());
for (int i = 0;; ++i)
{
if (serializedName[i] == '\0') break;
if (serializedName[i] != ' ') continue;
serializedName[i] = spaceSubstitute;
}
os << serializedName << std::endl;
delete[] serializedName;
}
А что б не записывать строку напрямую то? Зачем помешать переменная?
Heap corruption тут про другим причинам... Ты кстати тут переполняешь буфер, на1 символ.. Может, из-за этого
Обсуждают сегодня