查找文件中的字符串并输出字符串
时间: 2024-03-18 09:41:47 浏览: 14
可以根据上面的代码示例,稍微修改一下,将找到的字符串输出即可。具体修改如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
FILE* fp;
char buf[1024];
fp = fopen("test.txt", "r");
if (fp == NULL) {
printf("Failed to open file.\n");
return -1;
}
while (fgets(buf, sizeof(buf), fp) != NULL) {
if (strstr(buf, "target string") != NULL) {
printf("Found the target string: %s", buf);
}
}
fclose(fp);
return 0;
}
```
其中,`printf()` 函数用于将找到的字符串输出。需要注意的是,使用 `fgets()` 函数读取文件内容时,函数会将文件中的换行符也一并读取进来,因此在将字符串输出时,需要去掉换行符。
相关问题
c语言查找文件中的字符串
在 C 语言中,可以使用标准库中的函数来查找文件中的字符串。下面是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char *filename = "example.txt";
char *search_str = "hello";
char buffer[1024];
int line_num = 1;
int found = 0;
// 打开文件
FILE *fp = fopen(filename, "r");
// 逐行读取文件内容并查找字符串
while (fgets(buffer, 1024, fp)) {
if (strstr(buffer, search_str)) {
printf("Found '%s' on line %d: %s", search_str, line_num, buffer);
found = 1;
}
line_num++;
}
// 关闭文件
fclose(fp);
if (!found) {
printf("'%s' not found in file %s\n", search_str, filename);
return 1;
}
return 0;
}
```
在这个示例中,我们定义了一个文件名和要查找的字符串。然后,我们打开文件并逐行读取文件内容。对于每一行,我们使用 `strstr` 函数来查找字符串。如果找到了字符串,就输出该行的内容和行号。最后,我们关闭文件并根据是否找到字符串来返回不同的值。
需要注意的是,这个示例只能查找 ASCII 字符串。如果要查找 Unicode 字符串,需要使用其他函数库或自己实现相关的算法。
python txt中查找字符串并输出这个字符串后面8个字符串
您好!针对您的问题,我们可以使用Python中的字符串查找和切片操作来实现。下面是一个简单的示例代码:
```python
# 打开文件并读取内容
with open('test.txt', 'r') as f:
content = f.read()
# 查找目标字符串
target_str = 'Hello'
pos = content.find(target_str)
if pos != -1:
# 利用切片操作获取目标字符串后面8个字符
result = content[pos+len(target_str):pos+len(target_str)+8]
print(result)
else:
print('未找到目标字符串')
```
在这个示例代码中,我们首先打开并读取了一个文本文件(假设为test.txt),然后通过字符串查找方法find()找到了目标字符串(假设为'Hello'),如果找到了,就利用切片操作获取了目标字符串后面8个字符并输出。如果未找到目标字符串,则输出提示信息。
当然,您可以根据自己的实际需求进行相应的修改和扩展。