C ++ getchar 在 VS 2010 中工作,在 2012 年不工作
c++ getchar works in vs 2010, doesn't in 2012
为什么程序只是退出,在vs 2012,而在2010,它等待我的输入?
#include "stdafx.h"
#include <string>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
string path = "c:somepath";
cout << "Path is" + path << endl;
getchar();
return 0;
}
在程序流中没有使用getchar()
函数,在您的示例中只使用了等待输入的副作用。不要为了避免关闭窗口而入侵你的程序,你应该使用适当的方法让窗口保持打开状态。
选择下列之一:
-
命令窗口
- 打开命令提示符
- 导航到您希望程序执行的文件夹
- 键入。exe的路径并按Enter。执行程序后,命令提示符仍然打开,不需要
getchar()
。
-
不调试就启动
- 只需使用菜单项Debug->Start Without Debugging。执行程序后,新的控制台窗口仍然打开,不需要
getchar()
。
- 只需使用菜单项Debug->Start Without Debugging。执行程序后,新的控制台窗口仍然打开,不需要
-
从调试
开始- 在main函数的结束'}处设置一个断点
- 使用菜单项Debug->Start。调试会话仍然处于活动状态,控制台程序的窗口仍然打开。不需要
getchar()
为什么你应该避免getchar()
以保持窗口打开?
-
这是一个依赖于之前程序的hack。输入缓冲区中可能有一些字符,这里有一个指针:getchar()不能很好地工作?
-
你的程序不能在批处理文件中使用,如果你已经超过了学习C或c++的阶段。
相关文章:
- QSqlquery prepare()和bindvalue()不工作
- 导入库可以跨dll版本工作吗
- 以螺旋方式打印矩阵的程序.(工作不好)
- 对象指针在c++中是如何工作的
- 为什么在Windows上的VS 2019和Clang 9中"size_t"在没有标题的情况下工作
- VSOMEIP-2个设备之间的通信(TCP/UDP)不工作
- 为字符串中每 N 个字符插入空格的函数没有按照我认为的方式工作?
- remove(str.begin(), str.end(), );无法正常工作(我正在使用视觉工作室 2012)
- 资源窗口在其他系统上无法正常工作 (Visual Studio 2012)
- std :: get_time在2012年Visual Studio中无法日期工作
- Cstring 在 VS 2012 中不起作用,但如果使用 VS 2012 打开 VC++ 6.0 项目,则可以工作
- VS 2012 更改默认调试"工作目录"
- 如何在Windows Server 2012上工作时出现"OverflowError: Python int too large to convert to C long"错误进行转换?
- C ++ getchar 在 VS 2010 中工作,在 2012 年不工作
- 如何使Visual c++ 2010中开发的解决方案在Visual c++ 2012中工作?
- C++类型转换运算符代码,在 Visual Studio 2012 中无法编译,但在 Visual Studio 2005 中工作正常
- LNK1104时使用完全重建,但增量构建工作visual studio 2012 express
- 初始化列表在Visual Studio 2012 Update 2 CTP 4(3月)中不工作
- emplace_back()在Visual Studio 2012中如何在没有可变模板的情况下工作
- 2012 年 1 月 C++11 工作草案"Source"格式?