-3

C# バージョン:

text_layer_set_text(hello_layer, "Last:"+x+" min");

c (pebble[Programmable Watch] の場合) バージョン:

 text_layer_set_text(&hello_layer, **WHAT SHOULD I PUT HERE?**);

私もこれを見ました:

sprintf とその仲間は、watchface SDK でサポートされていない malloc を必要とします。また、Pebble アプリで使用できるスペースをはるかに超える大規模な機能でもあります。

手巻きの itoa 実装のようなものを試すことをお勧めします。動的に割り当てられたメモリを回避する itoa なら、うまくいくはずです。また、基数 10 で数値を出力することにのみ関心がある場合は、実装を簡素化できるはずです。

4

1 に答える 1

5

sprintf次のように文字列/整数を連結するために使用する必要があります。

 char buffer[100];
 sprintf(buffer, "Last:%d min", x);
 text_layer_set_text(&hello_layer, buffer);

編集:

Pebble には、mini-printf.hを定義するヘッダーがあるようmini_snprintfです。だからこれを試してみてください:

#include "mini-printf.h"

mini_snprintf(buffer, sizeof(buffer), "Last:%d min", x);
于 2013-10-08T14:46:19.290 に答える