我先是写了一个存名字的程序,写完freopen后我又做了一个A+B,但直接跳过了输入直接输出了。准确的来说就是这个freopen后面的输入被屏蔽了?
这是什么问题?如何解决?
#include<bits/stdc++.h>
#define ll long long
using namespace std;
string name;
void cd_put(void)
{
freopen("存档.txt","w",stdout);
cout<<name;
fclose(stdout);
}
void dd_put(void)
{
freopen("存档.txt","r",stdin);
cin>>name;
fclose(stdin);
}
int main()
{
ll ch,a,b;
cout<<"1 存档 2 读档"<<endl;
cin>>ch;
if (ch==1) cin>>name,cd_put();
else dd_put(),cout<<name;
cin>>a>>b;
cout<<a+b;
}