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

键盘输入任意字符(以连着的三个小写字符bye做结束标志),将所有字符(包括bye),写入新建的文件answer.txt中(注:文件放在当前目录)。请完成该功能。
如键盘输入内容为:
He,can you write the code?
Yes,you can.bye
No,you cann't.
(程序执行后,在文件answer.txt中内容如下)
He,can you write the code?
Yes,you can.bye

头文件只有stdio.h
如键盘输入内容为:...........这只是个示例啊..不是简单去掉最后一行就行的.这里的控制输入问题我弄了很久都没成功啊..谢谢网友的回答..期待更好的答案

#include<stdio.h>

static int write_flag=1; /*写文件标志,即是否要将字符串写入文件*/
void function(char *str)
{
int i=0;
do
{
if((str[i++]=='b')&&(str[i]=='y')&&(str[i+1]=='e'))/*字符串中有“bye字串”*/
{ str[i+2]='\0'; /*截断字符串*/
write_flag=0; /*写文件标志置 0 */
break;
}
}while(str[i+2]!='\0');
}

int main()
{
int i,j;
char str[100]={0};
FILE *fp;
fp=fopen("answer.txt","w");
do
{
gets(str);
function(str);
fprintf(fp,"%s\n",str);
}while(write_flag);
fclose(fp);

while(1) gets(str);/*接收其他无效字符串。自己添加程序结束条件*/

return 0;
}

亲测通过!

参考资料:自己写的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-07-18
首先利用fopen函数建立一个可以写入的文件,然后利用fprintf函数写出你想写入的东西。具体语句如下:
FILE
*fp;//文件指针
char
ch='A';
fp=fopen("1.txt","w");//建立一个可写入的文件1.txt
fprintf(fp,"%c\n",
ch);//往1.txt中写入字符
如果想写入多个字符,可利用循环
第2个回答  2008-11-16
去掉最后一行就可以了啊

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网