OT: kousek v C
Dalibor Straka
dast na panelnet.cz
Pátek Duben 11 21:55:01 CEST 2008
On Fri, Apr 11, 2008 at 01:18:03PM +0200, Jaroslav Lukesh wrote:
> Dobrý den,
>
> prosím o malé postrčení v C.
>
> Potřebuji dostat do cx řetězec např. "[0 0 123 456]", přičemž pro tento
> případ je a=123 a b=456
>
> V proměnných a,b mám INT čísla; čísla na začátku řádků jsou čísla řádků kde
> je nějaká chyba:
>
> char aa,bb;
> 112: sprintf(aa, "%i", a);
> 113: sprintf(bb, "%i", b);
> char cx;
> 115: cx = "[0 0 " + aa + " " + bb + "]";
>
>
> No a hlásí mi to
>
> test.c:112: warning: passing arg 1 of `sprintf' makes pointer from integer
> without a cast
> test.c:113: warning: passing arg 1 of `sprintf' makes pointer from integer
> without a cast
> test.c:115: error: invalid operands to binary +
>
Ahoj,
takhle to urcite pujde;
#define MAXLEN 100
char * cx;
cx = malloc(MAXLEN);
snprintf(cx, MAXLEN, "[0 0 %d %d]");
Nezapomenout nekde udelat free(cx);
-- Dalibor Straka
Další informace o konferenci Linux