Я использую стороннюю библиотеку с Qt, которая требует char*
строк.Я использую следующий код для преобразования моей QString в char*
char* toCharArray(const QString &string)
{
QByteArray bytes = string.toLocal8Bit();
char* data = new char[bytes.count() + 1];
strcpy(data, bytes.data());
return data;
}
// later on...
3rdPartyObject->3rdPartyMethod(toCharArray("someFile"));
Что я могу сделать, чтобы убедиться, что возвращаемое мной char*
очищено, кроме как сделать что-то грязное?
char* path = toCharArray("someFile");
3rdPartyObject->3rdPartyMethod(path); // The class and method called can differ
delete[] path;