Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C: Komentoriviargumentin erottelu

mattip84 [20.12.2006 16:20:41]

#

Terve.

Normaali komentoriviargumenttien käsittely on hanskassa, mutta sanokaapa miten sais eroteltua lukuarvot, jotka syötetään vaikka seuraavalla tavalla "ohjelma.exe -a 101,104,111,142"

Eli -a argumentin jälkeen jos annetaan useampi numero, niin miten ne sais helpoiten vaikkapa taulukkoon ?

Kiitokset !

Sami [20.12.2006 16:51:18]

#

Mikä kieli? Hyvinkin mahdollista, että siitä löytyy jokin valmis split-, explode- tai vastaava funktio, mikä pilkkoo merkkijonon taulukkoon tietyn erotinmerkin kohdalta.

mattip84 [20.12.2006 17:57:07]

#

C

kayttaja-4976 [20.12.2006 18:13:50]

#

Parametrien määrittely menee näin:

int maara, char *argumentit[]

Irkissä sanottiin että se on taulukollinen osoittimia merkkijonoihin, eli siis vaikka *argumentit[1] on eka argumentti. Käsittääkseni parametrit parsitaan välilyönnin kanssa joten kutsutaan: "ohjelma.exe -a 101 104 111 142". Silloin kaiken pitäisi olla kohdallaan.

Edit. tejeeziltä kuulin että argv[0] on ohjelman nimi.

mattip84 [20.12.2006 18:35:02]

#

ongelma oli, että argumentti pitää syöttää nimenomaan tuolla tavalla. Siis esimerkissä "ohjelma -a 101,104,111,142" kolmas argumentti (argv[2]) olisi merkkijono "101,104,111,142" ja siitä pitäis pystyä erottelemaan taulukkoon nuo eri numerot.

Blaze [20.12.2006 19:09:24]

#

https://www.ohjelmointiputka.net/keskustelu/11090-c-explode

Vastaus

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

Tietoa sivustosta