-2

我有一个名为 new.txt 的文本文件,它包含以下元素

vv
vinoop
raju
kiran
regu
ramu

我想读取“vinoop”和“regu”之间的唯一数据打印在其他文件上,所以我想要这样的输出

raju 
kiran

谁能帮我举个例子

4

2 回答 2

1

用于strstr()检测位置,vinoop然后第一个位置就是strstr() +返回的位置strlen(vinoop)

然后再次strstr()用于检测regu字符串(第二个位置),然后您可以在这两个位置之间提取字符串strncpy()

于 2013-05-23T08:58:35.010 回答
0
#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;
}
于 2013-05-23T09:30:22.267 回答