用C++写一个文件检索程序
时间: 2023-12-04 12:05:46 浏览: 95
以下是一个简单的文件检索程序,使用C语言编写:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_FILENAME_LENGTH 256
#define MAX_LINE_LENGTH 1024
int main(int argc, char *argv[]) {
if (argc < 3) {
printf("Usage: %s <filename> <search string>\n", argv[0]);
return EXIT_FAILURE;
}
char filename[MAX_FILENAME_LENGTH];
char search_string[MAX_LINE_LENGTH];
strcpy(filename, argv[1]);
strcpy(search_string, argv[2]);
FILE *fp = fopen(filename, "r");
if (fp == NULL) {
printf("Error opening file %s\n", filename);
return EXIT_FAILURE;
}
char line[MAX_LINE_LENGTH];
int line_number = 1;
while (fgets(line, MAX_LINE_LENGTH, fp) != NULL) {
if (strstr(line, search_string) != NULL) {
printf("%s:%d: %s", filename, line_number, line);
}
line_number++;
}
fclose(fp);
return EXIT_SUCCESS;
}
```
该程序接受两个命令行参数:要搜索的文件名和要搜索的字符串。程序打开文件,逐行读取文件内容,并在每行中搜索指定字符串。如果找到了匹配的字符串,程序会打印出所在行的行号和内容。程序使用标准库函数`fgets()`读取文件内容,使用标准库函数`strstr()`搜索字符串。
阅读全文