您的位置:首页 > 其它

VC 生成 exe 可执行程序 然后在cmd窗口调用

2016-01-13 22:49 513 查看

函数示例

int _tmain(int argc, char* argv[])

{

if (argc!=6)

{

return 0;

}

long long t ;

double a ;

double b ;

double NB ;

double DX ;

//获取参数的值,注意是从1开始的,atof是传入参数由默认的字符转换为double

t = long long (atof(argv[1]));

//因为我这里不知道怎么传入long long 的数值,所以就又转化了一步。

a=atof(argv[2]);

b=atof(argv[3]);

NB=atof(argv[4]);

DX=atof(argv[5]);

//打印输出试试

cout<<t << a<< b<< NB<< DX<<endl;

//调用函数

ErrRes = FunctionXXX(t, a, b, NB, DX);

getchar();

return 0;

}

注意要进行一个命令参数设置,如下,



注意上面我设置的第一个参数是long long类型,他会识别成两个long,没办法我后面改成了double,然后在程序中强制转换了一下。

另外还有设置一个字符集:



调用问题

cmd 调用exe的命令示例:

(exe所在的路径)\HXMNexe.exe 410272206104000 0.8596879014835392 -0.1258304714059249 0.86086282762647858835 0.85972507527452635134(函数要求的输入参数)

文件路径问题

如果程序中需要读文件,需要注意路径问题:工程时候默认在当前路径下,然而,此时即便你把文件放到exe所在的路径,程序也是找不到的。

获取当前路径的示例代码:

FILE* fp;

TCHAR szFilePath[100];

GetModuleFileName(NULL,szFilePath,100);

for(int i=strlen(szFilePath);i>=0;i--)

{

if(szFilePath[i]=='\\')

{

szFilePath[i]='\0';

break;

}

}

CString AA="\\Output.txt";

CString filepath=szFilePath;

CString filepathname=filepath+AA;

char* ch=(char*)(LPCTSTR)filepathname;

fp=fopen(ch,"w+");

主要需要包含的头文件有:<string.h> <cstring> #include "AFX.h" 还需要进行一个设置,如下图

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: