c语言在TXT文件中查找关键字位置
时间: 2023-07-02 19:23:49 浏览: 564
要在C语言的TXT文件中查找关键字的位置,可以按照以下步骤进行:
1. 打开文件,读取文件内容。
2. 使用字符串搜索函数(如strstr)在文件内容中查找关键字出现的位置。
3. 如果找到了关键字,可以使用文件指针的偏移量计算出关键字在文件中的位置。
以下是一个简单的示例代码,用于在TXT文件中查找关键字的位置:
```c
#include <stdio.h>
#include <string.h>
int main() {
char keyword[100] = "hello"; // 要查找的关键字
char filename[100] = "test.txt"; // TXT文件名
FILE* fp = fopen(filename, "r"); // 打开文件
char line[1000]; // 用于存储每行文件内容
int line_num = 0; // 记录当前行数
int found = 0; // 标记是否找到了关键字
if (fp == NULL) {
printf("Failed to open file %s\n", filename);
return 1;
}
// 逐行读取TXT文件内容
while (fgets(line, sizeof(line), fp)) {
line_num++;
if (strstr(line, keyword) != NULL) { // 如果找到了关键字
found = 1;
int offset = ftell(fp) - strlen(line); // 计算关键字在TXT文件中的位置
printf("Keyword \"%s\" found in line %d, offset %d\n", keyword, line_num, offset);
}
}
if (!found) {
printf("Keyword \"%s\" not found in TXT file %s\n", keyword, filename);
}
fclose(fp); // 关闭文件
return 0;
}
```
该代码使用fgets函数逐行读取TXT文件内容,然后使用strstr函数在每行内容中查找关键字。如果找到了关键字,则使用ftell函数计算出关键字在TXT文件中的位置。注意,该代码仅适用于在ASCII编码的TXT文件中查找关键字,对于其他类型的文件可能需要采用不同的方法。
阅读全文