printf 문제가 있습니다. 여기 좀 도와 줄 수 있으면 감사하겠습니다 : 아래의 코드에서 글꼴 패밀리가 처음으로 printf(), 에 올바르게 배치 된 것을 볼 수 있습니다. 그러나 변수를 설정하면 빈 문자열 만 얻습니다. 변수에 넣고 올바른 값을 가질 수 있습니까? 나는 'font.family(). family(). string(). utf8(). data()'를 어디서나 입력하고 싶지 않습니다.const char * 변수를 사용하여 printf 질문
나는 동일한 방법으로 이런 짓을 :
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);
}
와의 서명 '데이터는()'
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;
}
고맙습니다.
이 글꼴 라이브러리는 무엇입니까? C++에는 그런 것이 없습니다. 어쩌면'data()'에 의해 반환 된 타입을 포함 해 보라. 참고로'std :: string' /'std :: cout'을 사용하지 않는 이유는 무엇입니까? – GManNickG
'.data()'메소드의 서명을 아는 것이 도움이 될 것입니다. – pioto
family.string()은 CString 유형의 임시 객체를 반환합니까? –