读取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中的内容外,在结尾还显示乱码,有时第一次执行不显示,但反复执行后就显示了,
我想可能是开辟的内存没有释放或是没有清空,请各位看看。 这个问题我以前也遇到过,而且更为奇怪的是,当字符小于一定值(如5个)时,显示的全是乱码!这可能是CVI的一个Bug(CVI中的bug太多了!你用多了就知道了。)?!
建议你改用标准C中的文件操作函数!
页:
[1]