302cc9b4780f8cbef6f70c3a8417913050b6aafb ([info]mindbound) rakstīja [info]koderi kopienā,
@ 2009-03-19 16:27:00

Previous Entry  Add to memories!  Tell a Friend!  Next Entry
The number of ending newlines
Es zinu, ka risinājums ir triviāls, taču nelabvēlīgu apstākļu sakritības (nepilnas diennakts attāls deadline + nelietīga migrēna = pilnīga domātnespēja) dēļ griežos pēc publiskas palīdzības. Vajadzība ir pēc funkcijas (C/C++), kura dotajā stringā saskaitītu pēc kārtas sekojošus beigu (un tikai beigu, i.e. "strstr\nstr\n\n\n\n" = 4) newline characterus. Jau iepriekš pateicos par uzmanību, thanks in advance utt., utjpr.


(Lasīt komentārus) - (Ierakstīt jaunu komentāru)


[info]bubu
2009-03-23 18:03 (saite)
Kā kustēties? Nu ļoti vienkārši - uzturi skaitītāju, kuru pārbīdi.

size_t count_ending_newlines(const std::string& str)
{
    const std::string newline = "
";
    const size_t newline_size = newline.size();

    size_t pos = str.size();
    while (pos >= newline_size)
    {
        if (str.substr(pos - newline_size, newline_size) != newline)
        {
            break;
        }
        pos -= newline_size;
    }

    return (str.size() - pos) / newline_size;
}

(Atbildēt uz šo) (Iepriekšējais)


(Lasīt komentārus) -

Neesi iežurnalējies. Iežurnalēties?