[求助]通達(dá)信dll插件支持讀取外部文件數(shù)據(jù)嗎?
作者:通達(dá)信 來源:cxh99.com 發(fā)布時(shí)間:2022年09月12日
-
咨詢內(nèi)容:
做了一個(gè)dll插件,在讀取二進(jìn)制外部文件數(shù)據(jù)時(shí)老是讀不到數(shù)據(jù),不知為什么,
是不是通達(dá)信不支持?請(qǐng)教各位老師給一點(diǎn)指點(diǎn),在此先謝謝了
代碼如下
string GetDir()//取得通達(dá)信根目錄
{
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";//取得通達(dá)信根目錄下的這個(gè)二進(jìn)制文件
//OutputDebugString(stringToLPCWSTR(filename));
ifstream in(filename, ios::in | ios::binary | ios::ate);
if (!in) {
//OutputDebugString(stringToLPCWSTR("打開文件失敗"));
}
long size = in.tellg();
//OutputDebugString(stringToLPCWSTR("國(guó)") + (char)size);
float tmp = 0;
in.seekg(0, ios::beg);
//我就想讀取一個(gè)外部數(shù)據(jù)文件,可是通達(dá)信中沒反應(yīng),為0,讀不到數(shù)據(jù),不知為什么?
//是不是通達(dá)信不支持讀取外部文件?還是哪里出錯(cuò)?
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 )
-
通達(dá)信技術(shù)部:
string GetDir()//取得通達(dá)信根目錄
{
char buffer[MAX_PATH];
_getcwd(buffer, MAX_PATH);
return buffer;
}
你這是返回 堆棧地址 ,雖然跟目錄 可能獲取不到,但是你這把堆棧地址返回,使用不當(dāng)直接可能導(dǎo)致 通達(dá)信 進(jìn)程崩潰! 會(huì)c語言編程怎么能犯這個(gè)錯(cuò)?
?
-
通達(dá)信客服:
根目錄的文件,直接訪問就行,不用加路徑。