Я застрял в проблеме с printf. Я был бы признателен, если бы я мог получить некоторую помощь здесь:
В приведенном ниже коде я вижу правильное смещение семейства шрифтов в первом printf (),
но если я установлю переменную, я получу только пустую строку. Как я могу положить его в переменную и иметь правильные значения? Я просто не хочу везде печатать font.family (). Family (). String (). Utf8 (). Data ())
Я сделал это тем же способом:
void myMethod() {
const char* fontFamily = font.family().family().string().utf8().data();
// get displayed correctly
printf ("drawText1 %s \n", font.family().family().string().utf8().data());
// get an empty string
printf ("drawText2 %s \n", fontFamily);
}
А подпись 'data ()' -
class CString {
public:
CString() { }
CString(const char*);
CString(const char*, unsigned length);
CString(CStringBuffer* buffer) : m_buffer(buffer) { }
static CString newUninitialized(size_t length, char*& characterBuffer);
const char* data() const;
//...
}
Подпись utf8 () -
class String {
CString utf8() const;
}
Спасибо.