gtk+3 の TextBuffer にいくつかの型 gint を追加するにはどうすればよいですか? gtk_text_buffer_set_text には gchar 型の引数がありますが、gint 型の整数を設定したい
2 に答える
1
C で I/O を行う場合、通常は文字列を使用します。これは I/O の形式であるため、最初に数値を文字列にフォーマットする必要があることが予想されます。
数値を文字列にフォーマットする方法はさまざま (異なる基数、桁数、パディングなど) にできるため、これも便利です。アプリケーション側でこれを維持することは、GTK+ ウィジェットがそのすべてを知る必要がないことを意味します。 .
glib 文字列ユーティリティ関数 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);
}
于 2014-03-31T09:29:15.830 に答える
0
整数値を直接表示することはできません。最初に文字バッファ内の整数値をフォーマットし、これをテキストとして設定する必要があります
GtkTextBuffer *textbuf;
char cbuf[15];
int n, v;
v = 738;
n = sprintf(cbuf, "%d", v);
gtk_text_buffer_set_text(textbuf, cbuf, n);
于 2014-03-31T09:18:57.853 に答える