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