用c语音写一个函数,功能类似于linux中的grep
时间: 2023-03-31 18:04:59 浏览: 108
好的,我可以回答这个问题。以下是一个用 C 语言编写的函数,实现类似于 Linux 中的 grep 命令的功能:
```c
#include <stdio.h>
#include <string.h>
void grep(char *pattern, char *filename) {
FILE *fp;
char line[1024];
fp = fopen(filename, "r");
if (fp == NULL) {
printf("无法打开文件 %s\n", filename);
return;
}
while (fgets(line, sizeof(line), fp) != NULL) {
if (strstr(line, pattern) != NULL) {
printf("%s", line);
}
}
fclose(fp);
}
```
这个函数接受两个参数,一个是要搜索的字符串模式,另一个是要搜索的文件名。它会打开指定的文件,逐行读取文件内容,并在每一行中搜索指定的字符串模式。如果找到了匹配的行,就会将该行打印出来。如果无法打开指定的文件,函数会输出一条错误消息。
希望这个函数能够帮助你实现类似于 Linux 中的 grep 命令的功能。
阅读全文