C++程序在VS2010中可以运行 但是debug里面的可执行文件不能单独运行 而DEVC++则均可以 什么情况 求解答。

#include<iostream>#include<stdlib.h>#include<fstream>#include<cstring>#include<string... #include<iostream>
#include<stdlib.h>
#include<fstream>
#include<cstring>
#include<string>
using namespace std;
int main()
{
ifstream input;
char c;
string ip;
char pingip[35];
string time="";
bool STATE=false;
cout<<"Please input the host you want to ping:"<<endl;
cin>>ip;
ip="ping -n 1 "+ip+" > tmp.txt";
//cout<<ip;
strcpy( pingip, ip.c_str() );
system(pingip);
input.open("tmp.txt",ios::in);
int num=0;
while(input>>c&&c!=EOF){
//num++;
if(c=='='||c=='<')
{
num++;
input>>c;
}
if(num==2)
{
if(c=='T')
{
break;
}
time+=c;
}
}
if(time.at(0)<49||time.at(0)>58)
{
time="Request timed out";
}
cout<<time<<endl;
system("pause");
return 0;
}
展开
 我来答
fg5823820
2015-11-15 · TA获得超过399个赞
知道小有建树答主
回答量:705
采纳率:100%
帮助的人:613万
展开全部
执行目录问题。VS默认的程序执行目录很恶心,不是在exe目录,而是工程的目录,所以如果你能在VS里执行,并且你没有修改默认的执行目录,那么你的这句input.open("tmp.txt",ios::in);将在普通双击的时候无法打开文件而失败。解决办法就是把tmp.txt文件放到exe目录去。
另外你的编程习惯不好,打开文件一般都要判断是否成功,不成功一看就知道是什么问题。

在项目设置的调试选项里面,可以修改工作目录,默认和exe不在同一个目录
御含灵9r
2012-12-03 · TA获得超过4157个赞
知道大有可为答主
回答量:3007
采纳率:0%
帮助的人:2648万
展开全部
可能是动态链接库的问题
你的VS2010编译时候可能用的动态链接,这时候有些dll在其他目录下 在VS2010执行时 会把那些路径加上去,在你自己的debug目录执行时,不一定加

你改成静态链接 就可以执行了
追问
好像还是不行? 但是在命令行执行却可以成功! 你编译一下帮我看看吧!
追答
这个不好解释了啊
命令行可以 windows双击不可以 难道有执行用户权限的问题
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天一弦剑lover
2012-12-04 · TA获得超过232个赞
知道小有建树答主
回答量:121
采纳率:0%
帮助的人:124万
展开全部
错误提示是什么?贴出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式