-2

new.txt というテキスト ファイルがあり、次の要素が含まれています。

vv
vinoop
raju
kiran
regu
ramu

「vinoop」と「regu」の間のデータだけを読み込んで他のファイルに出力したいので、このように出力したい

raju 
kiran

誰でも例を手伝ってもらえますか

4

2 に答える 2

1

strstr()の位置を検出するために使用しvinoop、最初の位置はstrstr() +によって返される位置ですstrlen(vinoop)

そして、もう一度使用して文字列 (2 番目の位置)strstr()を検出するreguと、これらの 2 つの位置の間で文字列を抽出できます。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 に答える