Xirax
05:23 11-02-2005 Программистское
См сюда:
http://faculty.cs.byu.edu/~rodham/c...tation/grep.cpp
Это из нашей лекции. grep -- линуксовая команда для поиска инфы в файле
Говорят, компилируется и работает, я не проверял.
Комментарии:
Kaineg
08:17 11-02-2005
Э... а что там такое по ссылке? Несколько строчек какой-то фигни -- это что вообще есть?
Что такое grep, я знаю.
lightness
13:57 11-02-2005
красиво
Xirax
20:46 11-02-2005
Kaineg
Это программа!
Kaineg
21:19 11-02-2005
Xirax
Хм, и на каком языке она написана и чего она делает?
Xirax
22:10 11-02-2005
Kaineg
It's written on C++ . It simulates the action of grep command
Do you see defines at the top?
Kaineg
22:49 11-02-2005
Xirax
Do you see defines at the top?
Нет. Я абсолютно ничего не понимаю в си-плюс-плюс и никаких defines в нем не вижу.
Xirax
23:51 11-02-2005
Kaineg


//By Joe Milner, [email](cut by me not to send him spam)@byu.edu[/email]
#include <iostream>
#include <fstream>
#define A char  // DEFINES START HENCEFORTH!!!
#define B strlen
#define C strstr
#define D memcpy
#define E if
#define G case
#define H break
#define I switch
#define J for
#define K default
#define L else
#define M while
#define N void
#define O int
#define P istream
#define Q ifstream
#define R exit
#define S getline
#define T open
#define U tolower
#define V cout
#define W endl
#define X main
#define Y 500
using namespace std;


  N a(A* c)        {J(O q=0;q<B     (c);q++)c[q]      =U(c[q]);}N
b(A* c,O d,P&      e){A f[50],g     [50];O h=0,i      =0,j=0;J(O q
=0;q<B(c);q++      ){I(    c[q]     ){G               '*':    j=1;
H;G      '\'      :q++   ;K:E      (j)g              [i++    ]=c[
q];L               {f[h++]=c[q      ];}}}f[h]=        g[i]='\0';A
k[Y]               ;A l[Y];A*       m;M(              e&&!e.eof
()){   e.S(k,      Y);   D(l,       k,Y)              ;E(d
){a(   k);a(f      );a(  g);}       m=C(              k,f)
;E(m     ){E(      C(++  m,g))      {V<<              l<<W
;}}}}O X(O d,      A**   e){Q       g;I(d){G 4:g      .T(e
  [3]);E(!g        )R(1  );b(e      [2],1,g);H;G      2:b(

  e[1],0,cin);H;G 3:E(e[1][0]=='-')b(e[2],1,cin);L{g.T(e[2],
       ios::in);E(!g)R(1);b(e[1],0,g);}H;K:R(1);}}
Darksoul
00:05 12-02-2005
MIK
00:24 12-02-2005
На эту тему есть целый сайт