#include <stdio.h>
#include <string.h>
#define MAXLINE 1000
int getline(char *line, int max);
/* find: печать строк с образцом, заданным 1-м аргументом */
main(int argc, char *argv[])
{
char line[MAXLINE];
int found = 0;
if (argc != 2)
printf("Используйте в find образец\n"); else
while (getline(line, MAXLINE) > 0)
if (strstr(line
, argv
[1]) >= NULL
) { found++;
}
return found;
}
int getline(char *line, int max)
{
int c, i;
for (i
= 0; i
< max
-1 && (c
= getchar()) != EOF
&& c
!= '\n'; ++i
) line[i] = c;
if (c == '\n') {
line[i] = c;
++i;
}
line[i] = '\0';
return i;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2RlZmluZSBNQVhMSU5FIDEwMDAKaW50IGdldGxpbmUoY2hhciAqbGluZSwgaW50IG1heCk7Ci8qIGZpbmQ6INC/0LXRh9Cw0YLRjCDRgdGC0YDQvtC6INGBINC+0LHRgNCw0LfRhtC+0LwsINC30LDQtNCw0L3QvdGL0LwgMS3QvCDQsNGA0LPRg9C80LXQvdGC0L7QvCAqLwptYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCnsKICAgIHN5c3RlbSgiY2hjcCAxMjUxIik7CiAgICBjaGFyIGxpbmVbTUFYTElORV07CiAgICBpbnQgZm91bmQgPSAwOwogICAgaWYgKGFyZ2MgIT0gMikKICAgICAgICBwcmludGYoItCY0YHQv9C+0LvRjNC30YPQudGC0LUg0LIgZmluZCDQvtCx0YDQsNC30LXRhlxuIik7CiAgICBlbHNlCiAgICAgICAgd2hpbGUgKGdldGxpbmUobGluZSwgTUFYTElORSkgPiAwKQogICAgICAgICAgICBpZiAoc3Ryc3RyKGxpbmUsIGFyZ3ZbMV0pID49IE5VTEwpIHsKICAgICAgICAgICAgICAgIHByaW50ZiAoIiVzIiwgbGluZSk7CiAgICAgICAgICAgICAgICBmb3VuZCsrOwogICAgICAgICAgICB9CiAgICByZXR1cm4gZm91bmQ7Cn0KCmludCBnZXRsaW5lKGNoYXIgKmxpbmUsIGludCBtYXgpCnsKICAgIGludCBjLCBpOwogICAgZm9yIChpID0gMDsgaSA8IG1heC0xICYmIChjID0gZ2V0Y2hhcigpKSAhPSBFT0YgJiYgYyAhPSAnXG4nOyArK2kpCiAgICAgICAgbGluZVtpXSA9IGM7CiAgICBpZiAoYyA9PSAnXG4nKSB7CiAgICAgICAgbGluZVtpXSA9IGM7CiAgICAgICAgKytpOwogICAgfQogICAgbGluZVtpXSA9ICdcMCc7CiAgICByZXR1cm4gaTsKfQo=