如题,我想在 read()
函数后使用键盘输入,所以使用了 fclose
,但并没有成功实现这个功能。
我应该如何改进?调试细节见代码。解决悬 1 关。
# include <bits/stdc++.h>
# include <windows.h>
using namespace std;
void print(string s){
int n = s.length();
for (int i = 0; i < n; i++){
cout << s[i];
Sleep(30);
}
cout << endl;
}
void read(const char c[]){
freopen(c, "r", stdin);
string s;
while (getline(cin, s)){
print(s);
Sleep(500);
}
//直到此处代码执行正常
fclose(stdin);
system("pause");
}
int main(){
//*** begin test ***
char c;
cin >> c;//这一行能正确输入
cout << c << endl;//这一行输出正常
//*** end test ***
read("test.txt");
/*
freopen("test.txt", "r", stdin);
string s;
while (getline(cin, s)){
print(s);
Sleep(500);
}
fclose(stdin);
system("pause");
//此处代码执行结果与封装函数相同
*/
//*** begin test ***
c = -1;
cout << (cin >> c) << endl;//输出了 0
cout << (int)c;//输出了 -1
//*** end test ***
return 0;
}