在c ++中使用system("")命令时显示0

时间:2016-01-29 12:12:36

标签: c++ windows

我是C ++的新手,我正在建立一个基本的登录系统...虽然我喜欢"密码错误"并使用系统("颜色4")将文本的颜色更改为红色,在它之前显示零。有没有人之前有这个问题,如果是这样,你是如何解决它的。谢谢=)

cout << endl << system("color 4") << "Incorrect Password";

3 个答案:

答案 0 :(得分:3)

您正在打印 system()返回代码,这是一个实现定义的值,但对于大多数平台来说,在成功完成命令时为零

代码完全按照你的要求去做。 ; - )

可能system()行之前执行cout来电。 (如果这对你有用。)

一般来说,应该避免使用system()。它通常是“我不知道如何正确执行此操作”的拐杖,它依赖于平台,并且大多数初学者都无法正确检查返回值(这是“实现定义”启动),使程序容易程序想要(试图)调用的无声失败。

答案 1 :(得分:0)

\2函数在控制台中执行命令并返回状态代码。您不想输出状态代码结果,因此请勿在输出流中调用system

system

答案 2 :(得分:0)

system()函数返回一个int,其值是实现定义的。在您的情况下它似乎为0,这就是打印该值的原因。如果你不想那样,就不要打印它:

cout << endl;
system("color 4");
cout << "Incorrect Password";