Bir printf probleminde sıkışmış durumdayım. Burada bir miktar yardım bulabilirsem minnettar olurum: Aşağıdaki kodda, fontf ailesinin ilk printf(), 'da doğru bir şekilde yer değiştirdiğini görebiliyorum ama değişkene ayarlıyorum, sadece boş bir dize alıyorum. Bunu bir değişkene nasıl yerleştirebilirim ve doğru değerlere nasıl sahip olabilirim? Ben sadece "font.family(). Family(). String(). Utf8(). Data() 'her yerde yazmak istemiyorum.Bir const char * değişkenli printf sorusu
aynı yöntemle bunu:
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);
}
ve imza verilerinin() '
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 imzası() olduğu
class String {
CString utf8() const;
}
Teşekkür ederim.
Bu font kütüphanesi nedir? C++ böyle bir şey yok. Belki de 'data()' tarafından döndürülen türü eklemeyi deneyin. Bir yan not, 'std :: string' /' std :: cout' kullanmak için herhangi bir sebep? – GManNickG
'.data()' yönteminin imzasını öğrenmeye yardımcı olur. – pioto
Ve family.string() CString türünde geçici bir nesne döndürür? –