Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: char(string) -> int(integer)

child_ [18.12.2003 11:14:51]

#

Hei!

Tarvitsisin hieman apua seuraavanlaiseen ongelmaan, kuinka muuttaa string -> integeriksi ja toisinpäin.

Oikeastaan kysymykseni koskee snprintf() -funktiota, koska en saa sitä toimimaan jostain kumman syystä.

Yhdellä c-kielen ohjelmointi oppaassa "käskettiin" käyttämään snprintf() -funktiota ennemmin kuin sprintf() - funktiota, kun sprintf() - funktio on "herkempi" virheille.

Olen aiemmin konvertoinut muuttujia mm. näillä funktioilla.
atoi(), itoa(), sprintf(), sscanf() ja sitten castaamalla, mutta tuo castaaminen oli vähän outo, joten en ole sitä paljoa käyttänyt, mutta pitäis sitäkin varmaan käyttää ettei se sitten jäisi kokonaan vieraaksi.

atoi:n ja itoa:n käyttöä vähensin, kun kuulin, että itoa() ei kuulu "standardiin."

mutta palataan kysymykseeni, eli jos joku voisi hieman selventää tuota snprintf():n käyttöä. tuntuu, että koko ohjelmointiympäristö(ms visual studio 6.0) ei tunne koko komentoa, sillä esim. kun käyttää printf()- funktiota niin kirjoitettavan funktion viereen tulee sellainen pikkuikkuna joka tarjoaa tavallaan pientä helppiä funktion käytöstä, mutta tuota pikkuikkunaa ei tule, jos kirjoittaa snprintf()-funktiota.

mutta myös kaikki muut vinkit ovat tervetulleita koskien konvertoimista char:sta int:ksi ja toisinpäin :)

kiitos kaikille vastanneille.

vade [18.12.2003 12:30:15]

#

MS:n C-runtimessä funktionimet, jotka eivät kuulu ANSI-C-standardiin, alkavat _-merkillä. snprintf-funktio ei ole ANSI-C:tä, mutta kuuluu "moderniin" C99-standardiin. Eli snprintf:n toteutus löytyy MS:n C-runtimestä nimellä _snprintf.

String->int -konversio onnistuu parhaiten sscanf-funktiolla, kuten jo oletkin todennut.

Vastaus

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

Tietoa sivustosta