xz_guan 发表于 2008-6-10 09:22:29

求助:从文件中读取波形并显示出来时出现的问题!

各位大虾:
       程序实现的功能是信号发生器产生的波形,有存储和调用功能,点击存储后将波形存储在一个二进制的文件中,文件的后缀是.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;
int i;
char fileName;

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 ). (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 ). (ENOENT) No such file or directory

请问是什么原因,谢谢~!

drywell 发表于 2008-6-10 12:57:39

fp = fopen ("fileName", "rb"); /*打开文件*/

fileName两边的引号去掉就可以了
页: [1]
查看完整版本: 求助:从文件中读取波形并显示出来时出现的问题!