0

这不应该工作吗?我的意思是,代码只是一个测试,并且意味着对话是这样的:你叫什么名字?这里是名字,这里是你好名字,但是在我输入我的名字并单击输入后它没有显示最后一行你好它只是消失了。这是代码。

#include <iostream>
#include <string>

int main (void)
{ 
    using std::cin;
    using std::cout;
    using std::string;
    string name = "";
    cout << "What is your name, pls?\n";
    cin >> name;
    cout << "\nHello " << name.c_str() << "\n";
    return 0;
} 
4

7 回答 7

2

My guess is that you are running from the debugger, or double clicking the executable. In either of those cases, when the program ends, the console will close. So, the program produced output, but you just could not see it before the console closed.

Run the program from a pre-existing console so that the console remains after your program ends. Or, just whilst debugging, arrange that your program does not terminate immediately after emitting its final output. A simple way to do that is to place a break point at the end of the program.

于 2013-08-13T20:01:18.117 回答
1

It probably showed it right before it disappeared. If you're going to write console programs, and if you're going to send output to a console, you should run them from a console so the output has some place to go.

于 2013-08-13T20:00:32.037 回答
1

完成程序后,按Ctrl + F5 ( Run without debugging)。这将在关闭窗口之前提示,这就是您想要的。

于 2013-08-13T20:02:59.347 回答
1

确保在 main 超出范围之前放置断点。我猜你的控制台在 VS 下消失了?

此外,您不需要在最后一个 cout 语句中提取 char* :

cout << "\nHello " << name << endl;

于 2013-08-13T20:03:52.477 回答
0
  1. 打开终端(或命令提示符窗口)。
  2. 导航到包含可执行文件的文件夹。
  3. 运行。

它没有消失。它只是运行得非常快。

每个 IDE 都有一个键盘快捷键,可让您运行代码并在执行完成后暂停。

此键盘快捷键是 Visual Studio 中的 Ctrl-F5。

我不知道您正在运行什么 IDE,但这是您的基本问题。

您可以做的另一件事是在 ideone 中测试您的代码:ideone.com/hb4Cel(它是相同的代码。在这里粘贴没有意义)

于 2013-08-13T20:55:17.113 回答
-1

一个肮脏的解决方法是添加这样的东西

cin >> name;

最后,就在之前return 0;。它强制窗口在返回(关闭程序)之前等待输入(即点击返回)。

这不一定是好的设计,但如果你想做的只是运行一些测试,那么它就可以解决问题。

于 2013-08-13T20:05:05.720 回答
-2

基本上,当您输入您的姓名时,它会显示您的最后一行并在返回 0 后退出。以下是避免这种情况的以下事项
1- 使用命令行运行应用程序
Start->accessories->command prompt 转到您的应用程序所在的文件夹使用 cd 命令

 c:>cd c:\path\foldername


现在通过键入程序名称来运行应用程序,例如

 c:\path\foldername>my_application.exe


它将显示您的最后一行。

2- 现在,如果您使用的是 microsoft visual c++,请按 ctrl+F5 运行您的程序

3-不建议这样做,但只要您正在调试,您就可以使用它,然后将其从代码中删除。包含conio.h头文件并添加getch();return 语句之前的行。它会为您保留屏幕,直到您按下一个键。

于 2013-08-13T20:03:43.303 回答