Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > hash


Автор: box 19.5.2010, 22:14
как посчитать хеш аналогично как в перле :
Код


my %hash = ();

while(<LOG>){
    my ($ip_temp, $host_temp, $string_temp) = split(/\|/, $_);
        $hash{$host_temp."|".$ip_temp."|".$string_temp}++;
}

нужно посчитать кол-во уникальных элементов массива.

Автор: jonie 20.5.2010, 00:52
эти левостороннии функции такие "прелестные"...
есть класс std::map (http://www.cplusplus.com/reference/stl/map/) - он вам поможет, примеры в гугле.
Также есть boost::regexp - регулярки или PCRE - перловые регулярки, для разбивки... хотя лично я НЕ вижу причин тут использовать регэксп (это вас все быстрые компьютеры разучили думать о скорости ИМХО)... . вам подойдет банальный std::string::find_first_of('|') и вообще поиск по строке обычный  (гугл насчет std::string и его методов)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)