不应该这样吗?我的意思是,代码只是一个测试,意味着对话就是这样:你的名字是什么?在这里命名,你好名字在这里,但是在我输入我的名字并点击输入它只是消失之后它没有显示Hello的最后一行。这是代码。
#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;
}
答案 0 :(得分:2)
我的猜测是你从调试器运行,或者双击可执行文件。在任何一种情况下,当程序结束时,控制台将关闭。所以,程序产生了输出,但在控制台关闭之前你却看不到它。
从预先存在的控制台运行程序,以便在程序结束后控制台保留。或者,在调试时,安排您的程序在发出最终输出后不会立即终止。一个简单的方法是在程序结束时放置一个断点。
答案 1 :(得分:1)
它可能在它消失之前显示出来。如果您要编写控制台程序,并且如果您要将输出发送到控制台,则应该从控制台运行它们,以便输出有一些地方可以去。
答案 2 :(得分:1)
完成程序后,按Ctrl + F5 ( Run without debugging)
。这将在关闭窗口之前提示,这就是你想要的。
答案 3 :(得分:1)
确保在main超出范围之前放置断点。我猜你的控制台在VS下消失了吗?
此外,您不需要在最后一个cout语句中提取char *:
cout << "\nHello " << name << endl;
答案 4 :(得分:0)
它并没有消失。它运行得非常快。
每个IDE都有一个键盘快捷键,允许您在执行完成后运行代码并暂停。
此键盘快捷键是Visual Studio中的Ctrl-F5。
我不知道您正在运行什么IDE,但这是您的基本问题。
你可以做的另一件事是在ideone中测试你的代码:ideone.com/hb4Cel(这是相同的代码。没有必要在这里粘贴它)
答案 5 :(得分:-1)
一个肮脏的解决方法是添加类似这样的东西
cin >> name;
最后,就在return 0;
之前。它强制窗口在返回之前等待输入(即命中返回)(关闭程序)。
这不一定是好的设计,但如果你想要做的就是运行一些测试,那么它就可以了。
答案 6 :(得分:-2)
基本上,当您输入姓名时,它会显示您的最后一行,并在返回0后退出。
以下是要避免的事项
1-使用命令行运行应用程序
开始 - &gt;附件 - &gt;命令提示符
转到应用程序使用cd命令的文件夹
c:>cd c:\path\foldername
现在通过输入程序名称来运行应用程序,例如
c:\path\foldername>my_application.exe
它会显示你的最后一行。
2-现在,如果您使用的是microsoft visual c ++,请按ctrl + F5运行程序
3-不建议这样做,但只要您正在调试就可以使用它,然后将其从代码中删除。包含conio.h头文件并添加getch();返回声明前的行。它会为你按住屏幕,直到你按下一个键。