c语言:文本文件的操作_字符写入!

来源:百度知道 编辑:UC知道 时间:2024/06/07 14:16:43
键盘输入任意字符(以连着的三个小写字符bye做结束标志),将所有字符(包括bye),写入新建的文件answer.txt中(注:文件放在当前目录)。请完成该功能。
如键盘输入内容为:
He,can you write the code?
Yes,you can.bye
(程序执行后,在文件answer.txt中内容如下)
He,can you write the code?
Yes,you can.bye

请问这样的题目怎么做,谢谢

#include <stdio.h>

main()
{
FILE *fp;
char ch;
int flag=1,flag1=1,flag2=1;

fp=fopen("answer.txt","w");

while(flag==1)
{
ch=getchar();
fputc(ch,fp);
if(ch=='b')
flag1=0;
else if(flag1==0)
{
flag1=1;
if(ch=='y')
flag2=0;
}
else if(flag2==0)
{
flag2=1;
if(ch=='e')
flag=0;
}
}

fclose(fp);
}

自己写的,已通过,不用怀疑,运行时间<1ms,内存用量868K

#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fout;
char a[100];
int k =0;
int i;
if((fout=fopen("answer.txt","w"))==NULL) return 0;

Lab1:;
fgets( &a[0],100,stdin);
fprintf(fout,"%s",a);
k = strlen(a);
if (
strncmp( &a[k-4],"bye",3) == 0
) {fclose(fout);return 0;};
goto Lab1;

}