Tema: Re: blyn stringai
Autorius: saimhe
Data: 2011-01-18 17:49:54
> O siaip is esmes labai kreivai as cia viska darau ar cia taip ir turi but? :)

   Išmoksi.
   Ekonomiškiau:

k = strchr(tmp1, '.') - tmp1;    //bus labai blogai, jei neras :)
memcpy(tmp, tmp1, k);
tmp[k] = '\0';

   strcspn skirta ieškoti vieno stringo kitame. Bet kuriuo atveju sąnaudos
bus didesnės, net jei ieškomas stringas iš vieno simbolio.
   strncpy kopijuoja n arba iki '\0'. Gali būti, kad pirma susiranda tą
'\0', pasirenka mažesnį n ir daro bloko kopijavimą, kuris daugelyje
architektūrų yra daugiau mažiau optimizuotas registrų lygyje. Taip pat nėra
garantijos, kad prikabins '\0'. Todėl memcpy plius priskyrimas padarys tą
patį su mažesnėm sąnaudom.


   Tarpus pabaigoje galima nukąsti šitaip:

for (k = strlen(tmp1) - 1; k >= 0; k--)
    if (tmp[k] != ' ')
    {
        tmp1[k + 1] = '\0';
        break;
    }


> strcpy ( tmp,"" );

  tmp[0] = '\0';

-- 
  saimhe