代码如下:
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才能打印输出,否则无输出。。。