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