fgh1980 发表于 2009-9-17 21:35:36

读取txt文件中的内容出现乱码 是怎么回事?

我要读取不同text中的内容,放入cvi中的textbox中,反复执行下面代码 发现textbox框中,除了读入的text中的内容外,在结尾还经常有一些乱码,不知是怎么回事?
请教一下各位。

   strcat(path,"\\text\\111.txt"); //111文件中内容为中文 任意字数
   GetFileSize(path,&filesize);   
   fileHandle= OpenFile(path,VAL_READ_ONLY,VAL_TRUNCATE,VAL_ASCII );
   buf=(char*)malloc(filesize);
   ReadFile(fileHandle,buf,filesize);
   free(buf);
   ResetTextBox(mainpanel,PANEL1_TEXTBOX_2,buf);

   strcat(path,"\\text\\222.txt"); //222文件中内容为中文 任意字数
   GetFileSize(path,&filesize);   
   fileHandle= OpenFile(path,VAL_READ_ONLY,VAL_TRUNCATE,VAL_ASCII );
   buf=(char*)malloc(filesize);
   ReadFile(fileHandle,buf,filesize);
   free(buf);
   ResetTextBox(mainpanel,PANEL1_TEXTBOX_2,buf);

执行后在PANEL1_TEXTBOX_2中除了显示*.txt中的内容外,在结尾还显示乱码,有时第一次执行不显示,但反复执行后就显示了,
我想可能是开辟的内存没有释放或是没有清空,请各位看看。

netcreature 发表于 2009-9-18 08:40:32

这个问题我以前也遇到过,而且更为奇怪的是,当字符小于一定值(如5个)时,显示的全是乱码!这可能是CVI的一个Bug(CVI中的bug太多了!你用多了就知道了。)?!
建议你改用标准C中的文件操作函数!
页: [1]
查看完整版本: 读取txt文件中的内容出现乱码 是怎么回事?