[求助]通達信dll插件支持讀取外部文件數據嗎?
作者:通達信 來源:cxh99.com 發布時間:2022年09月12日
-
咨詢內容:
做了一個dll插件,在讀取二進制外部文件數據時老是讀不到數據,不知為什么,
是不是通達信不支持?請教各位老師給一點指點,在此先謝謝了
代碼如下
string GetDir()//取得通達信根目錄
{
char buffer[MAX_PATH];
_getcwd(buffer, MAX_PATH);
return buffer;
}
void TestPlugin1(int DataLen, float* pfOUT, float* pfINa, float* pfINb, float* pfINc)
{
/*AFX_MANAGE_STATE(AfxGetStaticModuleState());*/
string filename = GetDir() + "\\cstud.dat";//取得通達信根目錄下的這個二進制文件
//OutputDebugString(stringToLPCWSTR(filename));
ifstream in(filename, ios::in | ios::binary | ios::ate);
if (!in) {
//OutputDebugString(stringToLPCWSTR("打開文件失敗"));
}
long size = in.tellg();
//OutputDebugString(stringToLPCWSTR("國") + (char)size);
float tmp = 0;
in.seekg(0, ios::beg);
//我就想讀取一個外部數據文件,可是通達信中沒反應,為0,讀不到數據,不知為什么?
//是不是通達信不支持讀取外部文件?還是哪里出錯?
in.read((char*)&tmp, sizeof(float));
in.close();
for (int i = 0; i < DataLen; i++)
{
pfOUT = tmp;
}
}
?
?來源:C X H 9 9 .C O M )
-
通達信技術部:
string GetDir()//取得通達信根目錄
{
char buffer[MAX_PATH];
_getcwd(buffer, MAX_PATH);
return buffer;
}
你這是返回 堆棧地址 ,雖然跟目錄 可能獲取不到,但是你這把堆棧地址返回,使用不當直接可能導致 通達信 進程崩潰! 會c語言編程怎么能犯這個錯?
?
-
通達信客服:
根目錄的文件,直接訪問就行,不用加路徑。