请问如何从文件输入回到键盘输入
查看原帖
请问如何从文件输入回到键盘输入
363302
Ja50nY0un9_as_AgNO3楼主2024/9/19 16:34

如题,我想在 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;
}
2024/9/19 16:34
加载中...