Na végre egy érdemi hozzászólás, nagyon szépen köszönöm!
Találtam is benne jópár olyan dolgot ami tetszik. Lennének azonban „vitatott pontok” is. Mindenekelőtt: Bevallom őszintén, nekem a hátam borsódzik a z olyan kulcsszavaktól ahol a szó közepén hirtelen egy nagyBetű található, de különösen akkor, ha a szó eleje meg kisbetűvel kezdődik. Hadd kérdezzem meg a nálam tájékozottabbakat, lehetne-e ezellen kitalálni valami más módszert? Néha én is használok ilyesmit, de ott legalább akkor az úgy van hogy a szó legelső betűje is mindig Nagy betű... de tulajdonképpen ezt az egész izét hogy több értelmes szóból állítsunk össze egy kulcsszót, kerülném ha lehet. Azaz tömören: én előnyben részesíteném az egyszavas mnemonikokat, amennyiben találunk kellő számút. Szóval nem zárkózom el végleg a többszavasoktól, de inkább csak végszükség esetére...
A "replace" kulcsszó szerintem inkább olyasmire lenne jó hogy a stringben egy részletet kicserélni egy másik stringre, és nem lenne okvetlen szükséges hogy a kicserélt rész az újjal azonos hosszúságú legyen. De itt meg akkor az van hogy meg kéne különböztetnünk 2 alesetet:
1. A keresett stringrészlet ELSŐ előfordulását cseréli csak le.
2. Minden előfordulást lecserél.
Azt mindenképp elfogadom a javaslatodból, hogy akadnak funkciók a felsoroltak közt amik inkább egy másik libbe valók lennének, aminek legyen a neve mondjuk "file". Semmi akadálya annak hogy áttegyem őket abba. A baj az, hogy akkor meg az a lib olyan kell legyen ami úgyis behúzza magának a stringlibet, minthogy kell neki egy rakás cumó ami az én speciális stringosztályomat kezeli. Nálam ugyanis a stringek elemei szigorúan 8 bájtos "unsigned long long" elemeket tartalmaznak, pontosabban egy uniont ami ilyen hosszú, s ebben tárolják az Unicode értékeket...
Tudom hogy pocséklás, ellenben eszméletlenül hatékony. Nálam végső soron ugyanis minden memóriaallokáció VÉGSŐ SORON egy ilyen stringre mutató pointerrel tér vissza. Minden magasabb „osztály” erre a stringfajtára épül nálam. Tehát azért 8 bájtos a tárolási egység mert ennyi bájtba minden elemi izémizé belefér ami a 64 bites rendszerekben lenni szokott. (Ettől még persze van lehetőség hogy ilyen stringet átalakítsunk char* -gá, a kernel meg egyéb „kincstári” rutinok számára...)
Ha a C stílusú kommentek kiszűrését külön libbe teszem, jóeséllyel az lesz abban a libben az egyetlen függvény. Nem nézne ez ki rosszul? Vagy, esetleg mit lehetne még beletenni akkor abba a libbe? Várom a tippeket!