首页| 论坛| 消息

标题:文件操作出现段错误,请问大家该如何解决呢??
作者:nanawoaini
日期:2006-08-03 13:26
内容:

在qt下用fopen fread fclose对一个文件进行操作,同时将这些操作放在一个button的slot中,每次点击按扭即提示段错误同时程序终止,请问各问赐教该如何解决呢!!十分感谢啊,急等!!!相关代码如下:
connect(open,SIGNAL( clicked() ),this, SLOT( OpenFile(unsigned char *) ) );

void CCD_sample::OpenFile(unsigned char *buffer )
{
FILE*fp;
fp=fopen(sourcefile,"r");
fread(buffer,1,20000,fp);
fclose(fp);
}

请大家帮我分析一下问题出在哪里啊!!!


#1 [xinqingfly 08-03 14:35]
先判断你的文件打开正确没有,再去读文件内容,判断一下fp
#2 [ediwon 08-04 01:22]
当前目录有sourcefile文件吗?
最好先
.....
if ( !(fp=fopen(sourcefile,"r")))
{
printf("can't open the file about sourcefile");
sleep(5);
exit(1);
}
fread(buffer,1,20000,fp);
fclose(fp);
.....
#3 [nick 08-04 07:08]
首先 signal 和 slot并不匹配。
其次OpenFile的参数unsigned char *buffer 并没分配内存,这样拷贝不段错误才是怪事。
#4 [nanawoaini 08-04 14:31]
现在的问题是,我在构造函数中打开文件并读写内容完全没有问题,但是如果将文件的读写放在slot中就出现段错误,请问signal和slot为什么不匹配啊!! 还有我在构造函数中已经定义了unsigned char buffer[20000],这样不可以吗??请您赐教!!

回复 发表
主题 版块