Eli C-kielestä siis kyse ja ongelma on seuraavanlainen:
Miksi ohjelmaa ajettaessa tulee aina './ohjelma: No match.'-ilmoitus jos ajan ohjelmaa lisäparametrilla [x], missä x voi olla mikä tahansa merkki/merkkijono, esim. näin './ohjelma [uusi]'? Miten tuon voi välttää?
Käytän GCC-kääntäjää. Ja olen siis aloitteleva ohjelmoija!
Arvelen, että komentotulkki tulkitsee []-merkit omalla tavallaan. Itse ohjamassasi ei siis ole tämän ilmoituksen aiheuttavaa vikaa. Minulla Linuxissa sanoo shelli näin:
% ./argv [makkara] ./argv: No match. % ./argv "[makkara]" [makkara]
Lisäsin siis lainausmerkit, ja ohjelma ajettiin.
Tässä argv on ohjelma, joka tulostaa argv-taulukon sisällön, paitsi ei argv[0]:aa. (Toivottavasti Putka ei sensuroi noita minun hakasuluissa olevia sanojani pois.)
Jep. Kiitos tiedosta!
Aihe on jo aika vanha, joten et voi enää vastata siihen.