如何在c中读取给定文件的一部分

时间:2014-06-10 12:07:15

标签: c filestream

给定文件:

的test.txt

ac ab

ad am

av

al

ak aj an az ax

ag ah

我想从“am to an”读取或想要在文件指针到达 am 时开始写入另一个文件并继续写入,直到文件指针到达 az 。如何在c。

中完成

1 个答案:

答案 0 :(得分:0)

#include <stdio.h>
#include <string.h>

#define WORD_SIZE 2

#define _S(x) #x
#define S(x) _S(x)

typedef enum { NO, YES } status;

int main(){
    char word[WORD_SIZE + 1];
    FILE *fin;
    status Processing = NO;
    fin = fopen("test.txt", "r");
    while(1==fscanf(fin, "%" S(WORD_SIZE) "s", word)){
        if(strcmp(word, "am")==0){
            Processing = YES;
        } else if(strcmp(word, "az")==0){
            Processing = NO;
            break;
        }
        if(Processing == YES){
            fprintf(stdout, "%s\n", word);
        }
    }
    fclose(fin);
    return 0;
}