程序写了一半,请教各位达人给予指正!****************************************
CFileDialog dlg(TRUE, "dat","*.dat");
if(dlg.DoModal()==IDOK)
{
CStdioFile file;
VERIFY(file.Open(dlg.GetFileName(),CFile::modeRead)|CFile::typeBinary);
UINT nBytesRead = file.Read(a,2000);
}
a为一全局变量 short a[1000];
CFileDialog dlg(TRUE, "dat","*.dat");
if(dlg.DoModal()==IDOK)
{
CStdioFile file;
VERIFY(file.Open(dlg.GetFileName(),CFile::modeRead)|CFile::typeBinary);
UINT nBytesRead = file.Read(a,2000);
}
a为一全局变量 short a[1000];
file.Read(a,sizeof(a));
a为一全局变量 short a[1000];
如果文件大于1000 你的程序这样会执行非法的改成下面的就行了,MAX_DATA为一个宏
memset(a,0,MAX_DATA);
UINT nBytesRead = file.Read(a,MAX_DATA);
a为一全局变量 short a[MAX_DATA];
你说的宏定义该怎样定义?
#define MAX_DATA ?;
还有memset是个什么函数?
FILE *filestream;
filestream = fopen("filename", "open signal");
// 写文件
fwrite(a, sizoef(a), 1, &filestream);
// 读取
fread(a, sizeof(a), 1, &filestream);
没有分号,这个宏的大小你可以根据你要处理的数据大小来确定啊memset那句是把数组全部清0