我有一个名为 new.txt 的文本文件,它包含以下元素
vv
vinoop
raju
kiran
regu
ramu
我想读取“vinoop”和“regu”之间的唯一数据打印在其他文件上,所以我想要这样的输出
raju
kiran
谁能帮我举个例子
用于strstr()
检测位置,vinoop
然后第一个位置就是strstr()
+返回的位置strlen(vinoop)
然后再次strstr()
用于检测regu
字符串(第二个位置),然后您可以在这两个位置之间提取字符串strncpy()
#include <stdio.h>
#include <string.h>
#define START_KEYWORD "vinoop"
#define STOP_KEYWORD "regu"
int main(void){
FILE *fp;
char line[256];
int in_range = 0;
fp=fopen("new.txt", "r");
while(fgets(line, sizeof(line), fp)){
int len = strlen(line);
if(line[len-1]=='\n') line[--len] = '\0';//drop newline
if(strcmp(START_KEYWORD, line)==0){
in_range = 1;
continue;
}
if(strcmp(STOP_KEYWORD, line)==0){
in_range = 0;
continue;
}
if(in_range)
printf("%s\n", line);
}
fclose(fp);
return 0;
}