|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
# include<stdio.h>
int main()
{
FILE *fp;
FILE *pp;
char ch;
char ch1 = 'H';
char IF;
char name[20];
printf( "please put the name\n" );
scanf( "%s", name );
if( !(fp = fopen( name, "wt+" )))
{
printf("error!!\n");
exit(1);
}
printf("put what you want\n");
ch = getchar();
ch = getchar();
while( ch != EOF )//这里必须才行输入一行后 敲个回车再输入ctrl + z才能继续
{
fputc( ch, fp);
ch = getchar();
}
printf("if you want see ? put(Y/N)");
IF = getchar();
while( ((IF != 'Y') && (IF != 'N')) ) //只要不输出Y和N 都会出现几次error!! please try again(最少两次)
{
printf("error!! please try again!\n");
IF = getchar();
}
if( IF == 'N')
{
printf("good bye\n");
exit(0);
}
else
{
if( !(pp = fopen( name, "r" )))
{
printf("error!!\n");
exit(1);
}
while( ch1 != EOF )
{
ch1 = fgetc(pp);
putchar(ch);
}
}
fclose(fp);
fclose(pp);
return 0;
}
这是我的源代码,问题在每句的注释后面还有问题是 就算输入Y 最后也不会输出文件的内容
然后我修改了 改成了用字符串判断 问题更大了
# include<stdio.h>
int main()
{
FILE *fp;
FILE *pp;
char ch;
char ch1;
char IF[10];
char name[20];
char YES[10] = "Y",NO[10] = "N";
printf( "please put the name\n" );
scanf( "%s", name );
if( !(fp = fopen( name, "wt+" )))
{
printf("error!!\n");
exit(1);
}
printf("put what you want\n");
ch = getchar();
ch = getchar();
while( ch != EOF )//这里必须才行输入一行后 敲个回车再输入ctrl + z才能继续
{
fputc( ch, fp);
ch = getchar();
}
printf("if you want see ? put(Y/N)");
gets(IF);
while( ((IF != YES) && (IF != NO)) ) //无论输入什么都不能跳出循环...后面还没看,求解
{
printf("error!! please try again!\n");
gets(IF);
}
if( IF == NO)
{
printf("good bye\n");
exit(0);
}
else
{
if( !(pp = fopen( name, "r" )))
{
printf("error!!\n");
exit(1);
}
while( ch1 != EOF )
{
ch1 = fgetc(pp);
putchar(ch);
}
}
fclose(fp);
fclose(pp);
return 0;
}
求高手解答 感激不尽
|
|