程序在找到某个单词时停止阅读文本

时间:2013-12-03 18:17:26

标签: c

我需要编写一个程序来读取某个文本文件并显示转换为ASCII代码的每个第十个符号。但是当它找到字母“ZZ”时需要停止阅读。此外,如果少于10个符号或没有“ZZ”字母,程序不应打开文本文件。这是我目前的脚本,我不知道如何编写程序停止读取的部分,直到找到“ZZ”,如果没有字母则不应该打开文本文件“ZZ ”

#include <stdio.h>
int main ()
{
    FILE* f1;
    FILE* f2;
    char  fn1[FILENAME_MAX];
    char  fn2[FILENAME_MAX];
    int i, c, c1;

    printf("Please write the name of your file\n");
    gets(fn1);
    f1 = fopen(fn1,"rt");
    for(i = 1;i <= 9;i++) {
        c = fgetc(f1);
            if (c == EOF ){
            perror("Error while opening file\n");
            exit`enter code here`;
        }
    }
    while( ( c = fgetc(f1) ) != EOF ){
    c1++;
        if ( c1 % 10 ==0 ){
        printf("%X ", c);
        }
    }
    fclose(f1);
    return 0;
    }

1 个答案:

答案 0 :(得分:-1)

没有办法知道有多少ZZ或符号没有打开文件并首先读取它,但这里有一段代码可以添加到脚本中,当程序包含ZZ时它会使程序停止(它只会如果ZZ独自在一条线上工作):

if(!strcmp(fgets(fn1 , sizeof fn1 , f1) , "ZZ"))
       exit(1);