• 3674阅读
  • 2回复

qt2中close文件的问题。。。 [复制链接]

上一主题 下一主题
离线lureray
 
只看楼主 倒序阅读 楼主  发表于: 2009-06-30
代码如下:
Datasave1()    //save the image befor dsp
{
////////////////////////    
//construct file name  
    int fd,nwrite;
    char *p=NULL;
    char file_middle[32];
    sprintf(file_middle,"%d",fn_1);
    //_itoa(fn,file_middle,10);   // printf("file_middle=%s\n",file_middle);
    char file_head[]="/mnt/";
   // printf("file_head=%s\n",file_head);
    char file_end[]=".dat";
  //  printf("file_end=%s\n",file_end);
    char* ptr1=strcat(file_head,file_middle);
    printf("ptr1=%s\n",ptr1);
    char* ptr2=strcat(ptr1,file_end);
   printf("ptr2=%s\n",ptr2);
    p=ptr2;
    fn_1++;
   printf("p=%s\n",p);
   ////////////////////////
   //creat and save data

   fd=open(p, O_RDWR | O_CREAT);
    printf("fd=%d\n",fd);
    if (fd<0)
        printf("open file error\n");
    nwrite = write(fd,Image_data1,sizeof(Image_data1));    
    if (nwrite != sizeof(Image_data1))
    printf("write error\n");
    close(fd);

}
编译通过,但是运行时出现段错误,注释掉最后close(fd);一行后不出现错误,请问是何原因???
还有,在用printf是,必须要加\n才能打印输出,否则无输出。。。
离线xy4301109
只看该作者 1楼 发表于: 2009-07-01
open  改   ::open()
close改    ::close()
离线lureray
只看该作者 2楼 发表于: 2009-07-01
楼下强人。。。。。。
望给出原因,谢谢~~~
快速回复
限100 字节
 
上一个 下一个