wuli? 2016-04-17 16:03 采纳率: 75%
浏览 5426
已采纳

c语言输入数据,输出结果不换行问题

scanf输入,回车后结果显示在下一行中了。用什么可以将输入和输出结果显示在同一行呢?

  • 写回答

4条回答

  • 小灸舞 2016-04-18 02:00
    关注

    只用纯C++的话是不太可能满足可移植性的,因为这很大程度上依赖于所使用的终端,其中终端连接了stdin(通常是行缓冲)。但是你可以使用某些库来完成这个功能:

    1.Windows 编译器下可用 conio。使用 _getch() 函数让你不用等待回车输入就能得到字符。我不经常使用Windows来进行开发,但是我见过我同学仅仅包含头文件 conio.h 就可以使用了。你可以在维基百科找到 conio.h 。上面列出了 getch() ,在 Visual C++ 中声明为 deprecated(不赞成使用的)。

    2.Linux 中可以使用 curses,在 Windows 中也可以使用兼容的 curses 实现。相比于 conio 它也有一个 getch() 函数。(可通过 man getch 来查看它的 manpage)。同样你也可以在维基百科中找到 Curses。

    如果你打算让你的程序跨平台运行的话,我推荐你使用 curses。然而我相信有一些你能用来关掉行缓冲的函数(我相信那应该叫做“原始模式”,与“加工模式”,详细可以在 man stty 中查看)。Curses 可以在跨平台跨终端的环境中帮你处理好这个。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题