VC 生成 exe 可執行程序 然後在cmd窗口調用


函數示例

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" 還需要進行一個設置,如下圖


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章