我正在尝试使用C ++创建一个简单的应用程序启动器。
#include <iostream>
#include <stdlib.h>
#include <string>
using namespace std;
int main()
{
int textin;
cin >> textin;
if ( textin == "ATLauncher" )
{
system("C:\\Users\\NAME\\Main\\minecraftlaunchers\\AtLauncher\\ATLauncher.exe");
system ("pause");
return 0;
}
}
使用Dev C ++时出现的错误消息
[错误] ISO C ++禁止指针和整数[-fpermissive]
之间的比较
答案 0 :(得分:1)
我在您的代码中发现的问题:
textin
被声明为int
,但您将其与字符串文字("ATLauncher"
)进行比较。将textin
的类型更改为std::string
(并包含标题<string>
)。
反斜杠(\
)是C / C ++中字符串中的转义字符。为了放置真正的反斜杠,请为\\
使用\
。
其他一些观察结果:
system
在<stdlib.h>
中声明,而不是<windows.h>
。
system("pause")
并非必须存在。它只会让你必须在程序启动终止后按某个键才能关闭控制台。
答案 1 :(得分:0)
system()是一个可能的std lib调用来启动命令(另请参见spawn,exec ...) 你不需要运行暂停,因为系统不应该在第一个命令完成之前返回
你的字符串\中的应该是\ \ x表示特殊字符x即\ n(新行)