0

gtk+3 の TextBuffer にいくつかの型 gint を追加するにはどうすればよいですか? gtk_text_buffer_set_text には gchar 型の引数がありますが、gint 型の整数を設定したい

4

2 に答える 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 に答える