LINUX.ORG.RU

И ещё ламерский вопрос!<p> Я написал:<p> system("wc -l "слово"");<p> а он ругается блин!!!!!<p> А мне нужно, чтобы в файле считал строки под названием "слово"!<p> Как быть-то?

Nio
() автор топика

По поводу подсчета строк (опять-таки, я привожу лишь скелет, идею,
но никак не оптимальный вариант):

...
unsigned char buffer[ MAX_STRING_LENGTH ];
long wordcounter = 0;
unsigned char *tmp, tmp1;
while( not end of file )
 {
  fgets( buffer, MAX_SRING_LENGTH, file );
  tmp1 = buffer;
  while( ( tmp = strstr( tmp1, string_to_search ) ) )
   {
     wordcounter++;
     tmp1 = tmp;
   }
 }
fclose( file );
...

Можно еще читать не строками, а пословно (может быть, так и лучше), 
сравнивать и приращивать счетчик. В принципе, не так и сложно, если
не морочиться с оптимизацией.

Obidos ★★★★★
()

ananas.... Не работает, всё то же самое! :(

Nio
() автор топика

#include <unistd.h>
...
system( "grep 'my group of words' /path/to/file.name | wc -l" );
...

Мда... Ну читайте же книги по программированию и маны...

Obidos ★★★★★
()

а ты сначала выполнение команды в шеле проверь.

и не говори, что ругается, а приводи ругань дословно.

ananas ★★★★★
()

Obidos : Спасибо всё работает! Ну уж прости ламера за низнание!!!!!!

ananas: Прости если обидел!

Nio
() автор топика
12 июля 2002 г.
Ответ на: комментарий от ananas

> system("grep "слово" file.name | wc -l");

Ну тогда-уж хотя-бы так:
system("grep \"слово\" file.name | wc -l");

sseREGa
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.