Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys

13.5.2 Aliohjelmia C++ - merkkijonojen käsittelyyn

Edellisistä aliohjelmista suurin osa on toteutettu myös käsittelemään C++ - merkkijonoja:

ali\mjonotpp.h - aliohjelmia C++ -merkkijonojen käsittelyyn

	/****************************************************************************/
	/*     M  J  O  N  O  T  P  P.  H 
	**
	**
	**   Tiedostossa on merkkien ja merkkijonojen käsittelyohjelmien yleiset
	**   aliohjelmien otsikot.  Tiedosto on lähinnä muunnostiedosto string-
	**   tyypille vastaavasta C-kirjastosta mjonot.c
	**
	**   Tekijät:          Vesa Lappalainen
	**   Tehty:            02.01.1996
	**   Muutettu          07.03.1996/vl
	**   Mitä muutettu:    lue_jono_oletus laitettu toimimaan
	**
	**  Tiedostossa on seuraavia aliohjelmia:
	**    remove(st)             - poistaa tiedoston st
	**    onko_tiedostoa(st)     - palauttaa 1 jos on tiedosto nimellä st
	**    rename(&vanha,&uusi)   - vaihtaa tiedoston nimen
	**    tarkennin_alku(&tied)  - palauttaa mistä kohti tarkennin alkaa
	**                             tiedoston nimessä
	**    poista_tarkennin(tied) - poistaa tarkentimen tiedostonnimestä
	**    laita_tarkennin(tied,tark) - laittaa tiedoston nimen tarkentimen
	**    vaihda_tarkennin(tied,tark)- vaihtaa tiedoston nimen tarkentimen
	**
	**    istream &lue_rivi(istream &is,char *s,int max_koko);
	**    istream &lue_rivi(istream &is,string &s);
	**    istream &lue_rivi(istream &is,int &i,int def=0);
	**
	**  Seuraavat ovat mjonot.c:n muunnoksia string-luokalle
	**  (- merk ei totetuttu erikseen string-luokalle
	**     tai ei tarvitse toteuttaa)
	**
	**    tee_jono               - luo uuden merkkijonon jonne jono kopioidaan
	**    kopioi_jono            - kopioi kork. annetun määrän merkkejä
	**    liita_jono             - liittää jonon toisen perään, tulos
	**                             korkeintaan max.pituus mittainen               
	** -  f_lue_jono             - lukee tiedostosta merkkijonon                  
	** -  alusta_lue_jono        - alustaa merkkijonon lukemisen                  
	** -  lue_jono               - lukee päätteeltä merkkijonon                   
	**    lue_jono_oletus        - lukee päätteeltä merkkijonon.
	**                             Näyttöön tulostetaan haluttu viesti ja
	**                             jonon oletusarvo, mikäli painetaan RET         
	** -  lue_kokluku_oletus     - luetaan kokonaisluku, jolle käytetään
	**                             oletusarvoa mikäli heti painetaan RET          
	**    poista_alkutyhjat      - poistaa merkkijonon alussa olevat välilyönnit  
	**    poista_lopputyhjat     - poistaa merkkijonon lopussa olevat välil.      
	**    poista_2_tyhjat        - muuttaa merkkijonossa kaikki peräkkäiset
	**                             välilyönnit yhdeksi välilyönniksi              
	**    poista_tyhjat          - poistaa alusta ja lopusta kaikki sekä
	**                             muualta moninkertaiset välilyönnit             
	** -  isoksi                 - muuttaa kirjaimen isoksi kirjaimeksi huomioiden
	**                             skandit                                        
	** -  pieneksi               - muuttaa pieneksi huomioiden skandit            
	**    jono_isoksi            - muuttaa jonon kaikki merkit isoiksi            
	**    jono_pieneksi          - muuttaa jonon kaikki merkit pieniksi           
	**    jono_alku_isoksi       - muuttaa jonon kaikki sanojen alut isoiksi
	**                             ja kaikki muut pieniksi                        
	**    wildmat                - vertaa onko sana == maski, missä maskissa
	**                             voi olla jokeri-merkkejä (* tai ?)             
	**    onko_samat             - ensin muutetaan jonot isoiksi ja poistetaan
	**                             tyhjät ja sitten wildmat
	**                             (eli "  Kalle " == "    k*  ")                 
	**    palanen                - ottaa merkkijonosta seuraavan erotinmerkkien
	**                             määräämän palasen                              
	**    laske_merkit           - laskee annettujen merkkien esiintymismäärän
	**                             merkkijonossa                                  
	**    paikka                 - palauttaa kirjaimen 1. indeksin merkkijonossa  
	**    tayta_valit            - täyttää syötön "A-F" muotoon "ABCDEF"          
	**    joku_jono              - vastaa kysymykseen onko "EY" joku jonoista
	**                             "EU|EY|EL"                                     
	**    jono_arvosanaksi       - muuttaa merkkijonon "7-" reaaliluvuksi 6.75
	**    arvosana_jonoksi       - muuttaa reaaliluvun 6.75 merkkijonoki "7-"
	**    sallituissa            - paluttaa -1 jos tutkittavan jonon kaikki
	**                             merkit ovat annetussa joukossa, muuten
	**                             1. väärän merkin indeksin                      
	**    poista_merkit          - poistaa jonosta kaikki valitut merkit          
	**    poista_alusta          - poistaa merkkejä jonon alusta                  
	**    lisaa_alkuun           - lisää merkkejä jonon alkuun                    
	**    lisaa_merkki           - lisää merkin merkkijonon valittuun kohtaan     
	**    vaihda_jonot           - vaihtaa jonossa merkit toisiksi                
	**    muunna_C_symbolit      - muuttaa \t, \n ja \0x61 muotoiset              
	**                             C-symbolit vastaaviksi merkeiksi
	**    erota                  - laittaa merkkijonon kahtia valitun merkin
	**                             kohdalta
	**    erota                  - laittaa merkkijonon kahtia ensimmäisen
	**                             valitun merkin kohdalta


Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys