为什么直接点击或DOS中控制台程序exe文件,程序运行运行不正常
来源:百度知道 编辑:UC知道 时间:2024/05/24 22:06:26
首先看一下我的程序(用vc编写的控制台程序):
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char* argv[])
{
ofstream outFile;
outFile.open("aa.txt");
outFile<< argv[0] << endl;
outFile.close();
printf("%d\n",__argc);
printf("%s\n",__argv[0]);
return 0;
}
这个程序在VC中直接点击运行时可以在DOS界面得出正确的运行结果:
1
C:\Documents and Settings\hpcaomi\桌面\aa\Release\aa.exe(这是文件aa.exe的存放路径)
并在程序所在的文件夹产生了一个aa.txt文件,而且打开文件,里面写有
C:\Documents and Settings\hpcaomi\桌面\aa\Release\aa.exe
这是我预期的结果,说明程序正确;
但当我cmd到DOS界面时(并更换了目录到aa.exe目录下)输入aa.exe时能产生和上面DOS界面上相同的数据:
1
C:\Documents and Settings\hpcaomi\桌面\aa\Release\aa.exe
但此时不产生aa.txt文件了,不知道为什么,是不是那段程序没有执行还是怎么回事,
还有,如果直接点击debug文件夹下的aa.exe文件,看不到DOS界
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char* argv[])
{
ofstream outFile;
outFile.open("aa.txt");
outFile<< argv[0] << endl;
outFile.close();
printf("%d\n",__argc);
printf("%s\n",__argv[0]);
return 0;
}
这个程序在VC中直接点击运行时可以在DOS界面得出正确的运行结果:
1
C:\Documents and Settings\hpcaomi\桌面\aa\Release\aa.exe(这是文件aa.exe的存放路径)
并在程序所在的文件夹产生了一个aa.txt文件,而且打开文件,里面写有
C:\Documents and Settings\hpcaomi\桌面\aa\Release\aa.exe
这是我预期的结果,说明程序正确;
但当我cmd到DOS界面时(并更换了目录到aa.exe目录下)输入aa.exe时能产生和上面DOS界面上相同的数据:
1
C:\Documents and Settings\hpcaomi\桌面\aa\Release\aa.exe
但此时不产生aa.txt文件了,不知道为什么,是不是那段程序没有执行还是怎么回事,
还有,如果直接点击debug文件夹下的aa.exe文件,看不到DOS界
我这里都是正常的。不过用 CMD 敲出来的是
aa
而不是完整的路径:C:\Documents and Settings\hpcaomi\桌面\aa\Release\aa.exe
要显示命令行界面。在主程序最后,return以前加两个 getchar() 函数。
话说,VC中的main不是使用void声明啦,我只知道C里是用void声明的。