C程序读取两个字符串之间的数据

c program to read the data between 2 strings

本文关键字:字符串 两个 之间 数据 程序 读取      更新时间:2023-10-16

我有一个名为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] = '';//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("%sn", line);
    }
    fclose(fp);
    return 0;
}