各位大虾:
程序实现的功能是信号发生器产生的波形,有存储和调用功能,点击存储后将波形存储在一个二进制的文件中,文件的后缀是.dat;调用的时候打开读出文件,并将波形显示出来;
存储波形的时候没有问题,可是调出的时候就会没有办法显示出来,波形存储和调用部分的源代码如下:
int CVICALLBACK SaveCB (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
fp = fopen ("test.dat", "wb");/*创建打开一个文件用来存储波形*/
num = fwrite (waveData, sizeof(double), POINTS, fp);/*写文件*/
fclose (fp); /*关闭文件*/
break;
}
return 0;
}
int CVICALLBACK LoadCB (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
char outdata[POINTS1];
int i;
char fileName[MAX_PATHNAME_LEN];
switch (event)
{
case EVENT_COMMIT:
i = FileSelectPopup ("", "*.*", "", "", VAL_LOAD_BUTTON, 0, 0, 1, 0, fileName);
/*i=0 VAL_NO_FILE_SELECTED ;1 VAL_EXISTING_FILE_SELECTED ;2 VAL_NEW_FILE_SELECTED*/
if(i==1)
{
fp = fopen ("fileName", "rb");/*打开文件*/
num = fread (outdata, sizeof(double), POINTS, fp);/*读取数据*/
fclose (fp); /*关闭文件*/
PlotWaveform (panelHandle, PANEL_GRAPH, outdata, POINTS1, VAL_DOUBLE, 1.0, 0.0, 0.0, 1.0,
VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_RED);
}
}
return 0;
}
运行是的错误提示是:
NON-FATAL RUN-TIME ERROR: "波形存储(实验三之一).c", line 118, col 18, thread id 0x0000053C: Library function error (return value == 0 [0x0]). (ENOENT) No such file or directory
NON-FATAL RUN-TIME ERROR: "波形存储(实验三之一).c", line 118, col 18, thread id 0x0000053C: Library function error (return value == 0 [0x0]). (ENOENT) No such file or directory
请问是什么原因,谢谢~! |