Toon posts:

[C] const char nodig, heb een variabele int

Pagina: 1
Acties:
  • 56 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb een functie die graag een const char als invoer wil hebben, bijvoorbeeld "Dit is een leuke test".

Het wordt een klein telnet servertje zodat ik realtime via het internet een stappenmotortje kan besturen.
Anyway; het lukt me allemaal wel om teksten terug te sturen, alleen wil ik in de client het aantal graden in vullen dat de stappenmotor moet draaien.

Maar als ik dit stukje code gebruik:
C++:
1
2
i = i *2
pInstance->Print(i);


krijg ik deze compile error:
"Cannot convert 'int' to 'const char*'"

Oke, dat begrijp ik... maar hoe kan ik er nou toch voor zorgen dat hij die integer kan versturen?

  • SWfreak
  • Registratie: Juni 2001
  • Niet online
Nou bijvoorbeeld:
C:
1
2
3
char *zut = (char *) calloc( 40, sizeof(char) );
sprintf( zut, "%d", i );
pInstance->Print(i);

Moet je natuurlijk wel aan de andere kant van de lijn de mogelijkheid hebben om die int weer uit te lezen...

  • Korben
  • Registratie: Januari 2001
  • Laatst online: 14-11-2025

Korben

() => {};

SWfreak schreef op 12 januari 2003 @ 15:42:
Nou bijvoorbeeld:
C:
1
2
3
char *zut = (char *) calloc( 40, sizeof(char) );
sprintf( zut, "%d", i );
pInstance->Print(i);

Moet je natuurlijk wel aan de andere kant van de lijn de mogelijkheid hebben om die int weer uit te lezen...
Dat is wel erg omslachtig :) Ten eerste is het C, niet C++, dus hoeven we de return van calloc niet te casten. Ten tweede is itoa een iets efficientere functie om getallen om te zetten naar strings dan sprintf.

Dus:
C:
1
2
3
4
char *zut = calloc(40, sizeof(char));
itoa(i, zut, 10);
pInstance->Print(i);
free(zut);

[ Voor 3% gewijzigd door Korben op 12-01-2003 16:00 ]

.oisyn: Échte programmeurs haten PHP met een passie. Ben jij soms geen echte programmeur?


Verwijderd

code:
1
2
3
_itoa(i , sBuf, 10) // integer waarde, buffer(char*), base, in dit geval decimaal
// en anderom
i = atoi( sBuf )

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Standaard kwestie van het gebruik van variabelen.

Voor oplossing zie hierboven.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Dit topic is gesloten.