C语言实现输出文件中含有特定字符串的行
时间: 2024-05-03 10:21:37 浏览: 90
以下是一个使用C语言实现输出文件中含有特定字符串的行的示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LINE_LENGTH 1024 // 最大行长度
int main(void) {
FILE *fp;
char line[MAX_LINE_LENGTH];
char search_str[] = "hello"; // 要搜索的字符串
int line_num = 1; // 行号
fp = fopen("test.txt", "r"); // 打开文件
if (fp == NULL) {
printf("Error opening file.\n");
return 1;
}
// 逐行读取文件内容
while (fgets(line, MAX_LINE_LENGTH, fp) != NULL) {
// 检查当前行是否包含要搜索的字符串
if (strstr(line, search_str) != NULL) {
// 输出包含要搜索的字符串的行
printf("Line %d: %s", line_num, line);
}
line_num++;
}
fclose(fp); // 关闭文件
return 0;
}
```
以上示例代码中,我们首先定义了一个最大行长度的常量,然后打开要搜索的文件,逐行读取文件内容。在每一行中,我们使用`strstr`函数来检查当前行是否包含要搜索的字符串。如果包含,则输出包含要搜索的字符串的行号和内容。最后,我们关闭文件并返回0表示程序运行成功。
阅读全文