为什么直接点击或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界

我这里都是正常的。不过用 CMD 敲出来的是
aa
而不是完整的路径:C:\Documents and Settings\hpcaomi\桌面\aa\Release\aa.exe

要显示命令行界面。在主程序最后,return以前加两个 getchar() 函数。

话说,VC中的main不是使用void声明啦,我只知道C里是用void声明的。