Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: int -> char[]

Gaxx [26.04.2005 18:36:14]

#

Olen yrittänyt sohian osoittimien kanssa jonkin aikaa, mutta en ole onnistunut lykkäämään short intin (tai minkään muunkaan lukumuuttujan) tietoja char taulukkoon.

Tarkoitus olisi saada luku viemään vain kaksi tavua merkkijonotaulukossa viiden sijasta(esim. "15435"=5t).

Eli kuinka tällainen onnistuu ilman, että tallentaa luvun ensin binäärinä tiedostoon ja lukee sitten char taulukkoon?

Metabolix [26.04.2005 18:59:43]

#

/***********
** Tapa A **
***********/

#include <string.h>

char Taulu[100];
short int Luku;

/* Laitetaan luku tauluun kohdasta 20 alkaen */
memcpy(&Taulu[20], &Luku, sizeof(short int));

/***********
** Tapa B **
***********/

/* Laitetaan luku tauluun kohdasta 10 alkaen */
*((short int *)(&Taulu[10])) = A;

Ensimmäinen on varmaankin hitaampi, jälkimmäistä taas jotkut kääntäjät syrjivät, kun haluavat niin hanakasti estää virheitä.

Gaxx [26.04.2005 19:07:45]

#

Hienosti toimii, kiitos!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta