2014-03-31 5 views

답변

0

정수 값을 직접 표시 할 수 없습니다. 먼저 문자 버퍼의 정수 값을 형식화하고 텍스트로 설정해야합니다.

GtkTextBuffer *textbuf; 
char cbuf[15]; 
int n, v; 
v = 738; 
n = sprintf(cbuf, "%d", v); 
gtk_text_buffer_set_text(textbuf, cbuf, n); 
+0

유용한 정보였습니다. :) – user3318922

1

C에서 I/O를 수행하는 경우 일반적으로 문자열을 사용해야합니다. 이것이 I/O의 형태이기 때문에 숫자를 먼저 문자열로 형식화해야합니다.

숫자를 문자열로 서식 지정하는 것은 여러 가지 방법 (다른 기준, 자릿수, 패딩 등)을 수행 할 수 있기 때문에 좋습니다. 응용 프로그램 측면에서이를 유지하면 GTK + 위젯을 사용할 필요가 없습니다. 그 모든 것을 알아라.

glib string utility functions API에는 문자열 처리 기능이 있습니다. 여기에 가장 관련있는 것은 아마도 g_snprintf() 일 것입니다 :

void number_to_buffer(GtkTextBuffer *textbuf, int number) 
{ 
    char buf[32]; 

    const gint len = g_snprintf(buf, sizeof buf, "%d", number); 
    gtk_text_buffer_set_text(textbuf, buf, len); 
}