为什么IDE上运行正常在文件夹中打开却不能正常运行(C++)

#include
#include
#include
#include
#include
using namespace std;

int main()
{
string a,b;
strstream c;
char x;
int i;
cout << "输入多少小时之后关机" << endl;
x = getch();
i = (int(x) - 48) * 3600;//秒数
c << i;
c >> b;
a = "shutdown -s -t " + b;
char*p = (char*)a.data();
system(p);
return 0;
}
我用的是VS2013,自己编的一个定时关机的程序,直接点ctrl+f5能正常运行,
但是打开文件夹找到exe文件却不行。实在是令我费解,求大神解答
图片说明
无论点什么都是这样

5个回答

  • 是运行的时候报什么错?还是什么都没有?还是程序Hang了?
  • 你可以再控制台下面执行看看,就可以比较明确了
s594102234
s594102234 回复知常曰明: 我已经解决这个问题了,程序写好之后生成的是debug类型的,我希望它小一点,又生成了一个release,有逻辑错误,然后我修改了一下程序,又生成了一次,还是有错误,但是IDE下正常。然后我把源文件复制了,新建了一个项目,重新生成,再运行就成功了。有点复杂,不过大概是一个VS的一个bug
大约 5 年之前 回复
gamefinity
知常曰明 回复s594102234: hang是挂起的意思。控制台下运行,无非这几种情况。1.看到了你的输出,然后等待你的输入,这个是正常情况。2看到 你的输出,没有等你输入就过去了;3看到错误的提示信息;4,没有输入也没有输出,直接就出现命令行提示符了。5程序运行后没有输入输出,最后挂起了(也就是既没有等待你输入乜嘢没有出现命令行提示符)
大约 5 年之前 回复
s594102234
s594102234 什么都没有啊,程序hang是什么意思?
大约 5 年之前 回复

在IDE中,运行的时候IDE提供了必须的类库、包等的支持,但是在文件夹中,需要把相关的类库和包注册到系统路径中,或者注册表中才可以。

s594102234
s594102234 回复s594102234: 这个问题
大约 5 年之前 回复
s594102234
s594102234 但我还是不知道该怎么解决怎么问题
大约 5 年之前 回复

x = getch();用错了,用cin或scanf()试一下。

s594102234
s594102234 但是我希望点下就可以响应的那种感觉
大约 5 年之前 回复

在IDE中,运行的时候IDE提供了必须的类库、包等的支持,但是在文件夹中,需要把相关的类库和包注册到系统路径中,或者注册表中才可以。

右键点程序,选择以管理员方式运行,看看是否可以执行

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐