gtk + 3의 TextBuffer에 여러 유형의 gint를 추가 할 수 있습니까? gtk_text_buffer_set_text에는 gchar 유형의 인수가 있지만 유형 유형의 정수를 설정하려고합니다.gtk + 3의 GtkTextBuffer에 번호 추가
0
A
답변
0
정수 값을 직접 표시 할 수 없습니다. 먼저 문자 버퍼의 정수 값을 형식화하고 텍스트로 설정해야합니다.
GtkTextBuffer *textbuf;
char cbuf[15];
int n, v;
v = 738;
n = sprintf(cbuf, "%d", v);
gtk_text_buffer_set_text(textbuf, cbuf, n);
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);
}
유용한 정보였습니다. :) – user3318922