vector <char> cs_writ; //資料容器
char cs_write[7686] = ""
if(cs_writ.size()>=7686)
{
for(int i=0;i<7686;i++)
cs_write[i]=cs_writ[i];
}
else
{
for(int i=0;i<cs_writ.size();i++)
cs_write[i]=cs_writ[i];
}
file.Write(cs_write,7686); //重寫7686個資料
vector<char>().swap(cs_writ); //清空容器
file.Write(&timedata_show,4);
unsigned short long_data=https://bbs.csdn.net/topics/0x1E06;
file.Write(&long_data,2);
我的本意是不管接收到多少資料,我都只寫7686個資料,所以使用了容器,先把接受到的資料放入容器,然后取前7686個給陣列,少于7686就把所有的數給陣列,不夠的就用上次的資料,保證存盤資料格式。求大神指點cfile中的write一次最多能寫多少資料?有的時候出現這個file.Write(cs_write,7686)寫的不全,偶爾出現整個陣列7686都沒寫; 做硬體采集,每次處理這個丟資料太麻煩了,
uj5u.com熱心網友回復:
也有可能是占據長度不對,可以考慮下,長度為7686*2,寫入的時候uj5u.com熱心網友回復:
先不用容器, 直接把接收的資料都寫入檔案看是否完整?轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/138758.html
標籤:基礎類
上一篇:如何用VB編交叉二五碼
