如何在控制台下用c++弹窗让用户输入一句字符串?
这个问题其实很不简单,因为控制台下没有的东西,你让人怎么简单。。。
待我娓娓道来吧。。。
想要弹窗,就需要用到界面的api,据我了解,windows下可选的有两种,一种是windows自己的api,一种是qt,你想要省事的,就windows吧。
如上图所示,这是windows下一个最基本的弹窗,它调用的是windows里边最基础的一个api,叫messagebox,只需要引用windows.h头文件就可以使用了。
这个东西有多种变体,比如不只有确定按钮,还可以有“是否”,还可以有“确定取消”等等,还可以加图标,比如警告的黄色小三角,错误的红色感叹号等等等,相信你见过不少。
但是你想要的是一个可以让用户输入一句字符串的弹窗,这个就比较蛋疼了,它不再是一个messagebox,而是一个dialog,对话框,它是一个对话。
用到了dialog,就需要用到windows消息机制,因为dialog需要windows消息机制来维持,否则就是我们平时看到的无响应的状态,“该程序无响应,是否强制关闭”这种提示就是对话框的消息循环崩了。
废话了这么多,其实是想让你到此为止,会弹messagebox就可以了,等下我再给你粘一段对话框的代码出来,比较费神,也比较难懂,我也得温习一会才能写出来,徒手写一个对话框对我来说也是有难度的,所以看不懂也别纠结,不太适合新手看。
坐等代码,,还有请问怎么能比对两个文本文档(只用比对文字),然后输出其中的不同呢?
实在不好意思,我试了会才发现我已经差不多忘完了。。。这是我翻出来的很早以前的一个例子,应该是vc6.0下运行的,而且新建项目的时候似乎需要引win32的dll,后来用mfc习惯了,就忘了纯win32怎么写了。
基本流程就是win函数里边所写,首先要注册窗口,注册的时候我记得是可以指定资源文件,就可以加载通过工具拖放出来的对话框了,然后是创建注册好的窗口,这个例子里的窗口叫"MYWND",然后就是显示窗口,然后把窗口放到消息循环里边,这个例子还是最基础的,就是一个框,什么都没,加文本框就更复杂了,我现在连这个都解释不了了。。。爱莫能助
你说的文本比对,如果你是找工具,给你推荐个UltraCompare吧。
如果自己写的话,我觉得比较低级的就是逐字符比对,只要不一样就输出,一样就略过呗。