【杂文】关于 C++ 文件关联重定向回控制台的问题
2021-04-09 23:29
标签:inline 效果 ++ 读取 网上 关于 读写 console 关闭 写交互姬时遇到了一个问题,下面这种流程效果始终无法实现: \((1).\) 姬在控制台中输出若干信息。 \((2).\) \(\text{Player}\) 通过观察姬给出的数据,输入某些信息提供给交互姬。 \((3).\) 交互姬读取 \(\text{Player}\) 的输入,更新信息并进行下一轮循环。 在操作时发现姬总是在无限读入回车,完全忽略掉了我的输入。 【自闭现场】 尝试了各种方案,比如把 \((1)\) 操作改为输出到文件。但每次对文件进行读写时都会反复弹出诸如“文件已被修改,是否重新加载?”、“文件修改失败,是否保存?”一类的提示,很是恼人。 如果在 \(\text{windows}\) 的话其实好办,直接一个 \(getch()\) 搞定(但也只能读入一个字符,无法方便快捷的读入所有类型的数据)。 后来意识到问题可能出在输入输出流,于是搞了各种奇怪的代码关闭流,还是以失败告终。 在网上翻阅了很久,后来发现是居然是 \(\text{fclose(stdin)}\)的锅! 玩意儿说是可以用来关闭文件关联,实际上貌似没 \(jb\) 用? 总之,必须要重定向一个新文件才能真正“关闭”之前打开的文件。 最终解决方案:在从文件中读入数据后,紧跟一个 问题又来了,\(\text{Linux}\) 下的控制台肯定不再是 又在网上翻了好久好久,大多数人都说是 自闭 ing... 希望以后不要有人再像我一样,在这种事情上花大量时间了..... 【杂文】关于 C++ 文件关联重定向回控制台的问题 标签:inline 效果 ++ 读取 网上 关于 读写 console 关闭 原文地址:https://www.cnblogs.com/Xing-Ling/p/13369760.html【杂文】关于 C++ 文件关联重定向回控制台的问题
标题好长 awa
可行性级低,否决。
而 \(\text{NOI Linux}\) 就头疼了——没有 \(\text{conio.h}\) 库。
此方案也作废。freopen
把文件关联到控制台,将读入数据的地方重新搞回到控制台上面。【Code for Windows】
freopen("CON","r",stdin);
CON
。/dev/console
,而实际上应该是 /dev/tty
才对!【Code for Linux】
freopen("/dev/tty","r",stdin);
tnd大半夜地搞死我了【参考资料】
上一篇:Java接口
文章标题:【杂文】关于 C++ 文件关联重定向回控制台的问题
文章链接:http://soscw.com/index.php/essay/73540.html