C语言问题 创建没有元音的文本文件

请问这个应该怎么解决?要编写一个 C 程序,它有两个文件名作为命令行参数。它应该创建第二个文件,以便它是第一个文件的副本,但没有元音。换句话说,它应该将第一个文件的字节复制到第二个文件,除了元音不应该被复制。你可以假设元音是小写字母aeiou和大写字母AEIOU。

img

 #include <stdio.h>
int main(int args,char *argv[])
{
      if(args<2)
          return 0;
      FILE *fp = fopen(argv[1],"r");
      FILE *fp2 = fopen(argv[2],"w");
      if(fp != NULL && fp2 != NULL)
      {
            char buf[1000];
            while(fgets(buf,100,fp) != NULL)
            {
                  char buf2[1000]={0};
                  int n=0;
                 int i=0;
                 while(buf[i] != 0)
                {
                      switch(buf[i])
                      {
                              case 'a':
                              case 'i':
                              case 'e':
                              case 'o':
                              case 'u':
                             case 'A':
                              case 'E':
                              case 'I':
                              case 'O':
                              case 'U':
                                  break;
                              default:
                                  buf2[n++] =   buf[i];
                      }
                      i++;
                }
                fputs(buf2,fp2);
            }
            fclose(fp);
            fclose(fp2);
      }
      return 0;
}