我是C ++的新手,我正在建立一个基本的登录系统...虽然我喜欢"密码错误"并使用系统("颜色4")将文本的颜色更改为红色,在它之前显示零。有没有人之前有这个问题,如果是这样,你是如何解决它的。谢谢=)
cout << endl << system("color 4") << "Incorrect Password";
答案 0 :(得分:3)
您正在打印 system()
的返回代码,这是一个实现定义的值,但对于大多数平台来说,在成功完成命令时为零
代码完全按照你的要求去做。 ; - )
你可能在 system()
行之前执行cout
来电。 (如果这对你有用。)
一般来说,应该避免使用system()
。它通常是“我不知道如何正确执行此操作”的拐杖,它依赖于平台,并且大多数初学者都无法正确检查返回值(这是“实现定义”启动),使程序容易程序想要(试图)调用的无声失败。
答案 1 :(得分:0)
\2
函数在控制台中执行命令并返回状态代码。您不想输出状态代码结果,因此请勿在输出流中调用system
system
答案 2 :(得分:0)
system()函数返回一个int,其值是实现定义的。在您的情况下它似乎为0,这就是打印该值的原因。如果你不想那样,就不要打印它:
cout << endl;
system("color 4");
cout << "Incorrect Password";