C语言查找字符串返回长度的行数
时间: 2024-12-18 12:32:27 浏览: 10
在C语言中,如果你想要查找字符串并返回匹配的行数,通常你需要遍历输入的数据源(比如文本文件、内存缓冲区等),并且对每一行进行查找。这通常涉及到读取输入一行接一行,直到找到目标字符串为止。然后你会增加计数器,表示找到了匹配次数。
这里有一个简单的示例,假设有一个字符数组代表了文件内容,并且你想查找某个特定的字符串:
```c
#include <stdio.h>
#include <string.h>
int find_lines_with_string(char *data, const char *search_string, size_t data_size) {
int line_count = 0;
char *line_start = data;
while ((line_start = strstr(line_start, search_string)) != NULL && line_start <= data + data_size) {
// 如果找到了字符串,增加行数
++line_count;
// 移动到下一行的开始位置,跳过'\n'
line_start += strlen(search_string);
}
return line_count;
}
// 使用示例
int main() {
char file_content[] = "这是第一行\n这是第二行,包含目标字符串\n这是第三行";
const char *search_str = "目标字符串";
int result = find_lines_with_string(file_content, search_str, sizeof(file_content));
printf("找到含有 %s 的行数:%d\n", search_str, result);
return 0;
}
```
这段代码会在每行开头找到`search_string`,并计算出出现了多少次。
阅读全文