问题遇到的现象和发生背景
/*
编写程序,从键盘输入一串字符,要求将该串字符的倒序串先写入到文件f1.txt中,然后再将原字符串的内容接到该文件的末尾。例如,假设从键盘输入的字符串为
“How do you do?”,则文件f1.txt的内容为:
?od uoy od woHHow do you do?*/
#include<iostream>
#include<string.h>
using namespace std;
/* Reverse Order Function*/
void func(char *w,int len)
{
char *p,*q;
len=strlen(w);
p=w;
q=w+len-1;
while(p<q)
{
char t=*p;
*p=*q;
*q=t;
p++,q--;
}
}
int main()
{
FILE *fp;
char ch;
char s[100];
if((fp=fopen("f1.txt","w"))==NULL)
{
cout<<"can't open file\n";
exit(1);
}
gets(s);
/* Reverse Order*/
if((fp=fopen("f1.txt","r"))==NULL)
{
cout<<"can't open file\n";
exit(1);
}
func(s,strlen(s));
puts(s);
fputs(s,fp);
func(s,strlen(s));
fputs(s,fp);
fclose(fp);
while(!feof(fp))
{
ch=fgetc(fp);
putchar(ch);
}
fclose(fp);
}
一直在运行和输出
试过用fclose关过,但好像还是不行
我想要达到的结果