您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ sopen函数代码示例

51自学网 2021-06-03 08:07:01
  C++
这篇教程C++ sopen函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中sopen函数的典型用法代码示例。如果您正苦于以下问题:C++ sopen函数的具体用法?C++ sopen怎么用?C++ sopen使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了sopen函数的22个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: sopen

USHORT TUser::Previous (){   USHORT RetVal = FALSE;   if (fdDat == -1)      fdDat = sopen (DatFile, O_RDWR|O_BINARY|O_CREAT, SH_DENYNO, S_IREAD|S_IWRITE);   if (fdIdx == -1)      fdIdx = sopen (IdxFile, O_RDWR|O_BINARY|O_CREAT, SH_DENYNO, S_IREAD|S_IWRITE);   if (fdDat != -1 && fdIdx != -1 && (tell (fdIdx) - sizeof (Idx)) >= sizeof (Idx)) {      do {         lseek (fdIdx, tell (fdIdx) - sizeof (Idx) * 2, SEEK_SET);         if (read (fdIdx, &Idx, sizeof (Idx)) == sizeof (Idx)) {            if (Idx.Deleted == FALSE)               RetVal = TRUE;         }      } while (RetVal == FALSE && tell (fdIdx) >= sizeof (Idx) * 2);      if (RetVal == TRUE) {         Clear ();         lseek (fdDat, Idx.Position, SEEK_SET);         read (fdDat, &Usr, sizeof (Usr));         Struct2Class ();      }   }   return (RetVal);}
开发者ID:kenjreno,项目名称:lora3,代码行数:28,


示例2: main

int main(int argc, char *argv[]){	/* check args */	if (argc != 4)	{		fprintf(stderr, "usage: %s header.asm prog1.bfjoust prog2.bfjoust/n", argv[0]);		return 1;	}	/* parse competitors */	int fdA = sopen(argv[2]), fdB = sopen(argv[3]);	if (setjmp(fail_buf))	{		printf("parse error: %s/n", fail_msg);		return 1;	}	struct oplist *opsA = parse(fdA), *opsB = parse(fdB);	/* find maximum depth of nested repeats */	int maxrepdepth;	{		int d1 = repdepth(opsA), d2 = repdepth(opsB);		maxrepdepth = d1 > d2 ? d1 : d2;	}	printf("%%define MAXREPS %d/n/n", maxrepdepth);	/* copy header */	FILE *hdr = fopen(argv[1], "r");	if (!hdr)		die("open failed: %s", argv[1]);	static unsigned char buf[4096];	ssize_t got;	while ((got = fread(buf, 1, sizeof buf, hdr)) > 0)		fwrite(buf, 1, got, stdout);	if (got < 0)		die("read error");	fclose(hdr);	/* translate into code */	compile(stdout, opsA, 'A', "pa", 0);	compile(stdout, opsB, 'B', "pb", 0);	compile(stdout, opsB, 'B', "pf", 1);	opl_free(opsA);	opl_free(opsB);	return 0;}
开发者ID:Lymia,项目名称:chainlance,代码行数:60,


示例3: strcpy

USHORT TFileBase::Open (PSZ pszDataPath, PSZ pszArea){   CHAR szFile[128];   strcpy (DataPath, pszDataPath);   if (DataPath[0] != '/0') {#if defined(__LINUX__)      if (DataPath[strlen (DataPath) - 1] != '/')         strcat (DataPath, "/");#else      if (DataPath[strlen (DataPath) - 1] != '//')         strcat (DataPath, "//");#endif   }   sprintf (szFile, "%s%s", DataPath, "filebase.idx");   if ((fdIdx = sopen (AdjustPath (szFile), O_RDWR|O_BINARY|O_CREAT, SH_DENYNO, S_IREAD|S_IWRITE)) == -1)      return (FALSE);   sprintf (szFile, "%s%s", DataPath, "filebase.dat");   if ((fdDat = sopen (AdjustPath (szFile), O_RDWR|O_BINARY|O_CREAT, SH_DENYNO, S_IREAD|S_IWRITE)) == -1) {      close (fdDat);      fdDat = -1;      return (FALSE);   }   strcpy (szArea, pszArea);   return (TRUE);}
开发者ID:OS2World,项目名称:APP-COMM-LoraBBS,代码行数:30,


示例4: lightPen

void CLayout::CSizeGripper::DrawShadowLine(CDC *pdc, CPoint start, CPoint end){    {        CPen lightPen(PS_SOLID, 1, ::GetSysColor(COLOR_3DHIGHLIGHT));        CSelectObject sopen(pdc, &lightPen);        pdc->MoveTo(start);        pdc->LineTo(end);    }    start.x++;    end.y++;    {        CPen darkPen(PS_SOLID, 1, ::GetSysColor(COLOR_3DSHADOW));        CSelectObject sopen(pdc, &darkPen);        pdc->MoveTo(start);        pdc->LineTo(end);        start.x++;        end.y++;        pdc->MoveTo(start);        pdc->LineTo(end);    }}
开发者ID:JDuverge,项目名称:windirstat,代码行数:27,


示例5: removefiledat

BOOL DLLCALL removefiledat(scfg_t* cfg, file_t* f){	char	c,str[MAX_PATH+1],ixbname[12],*ixbbuf,fname[13];    int		i,file;	long	l,length;	SAFECOPY(fname,f->name);	for(i=8;i<12;i++)   /* Turn FILENAME.EXT into FILENAMEEXT */		fname[i]=fname[i+1];	SAFEPRINTF2(str,"%s%s.ixb",cfg->dir[f->dir]->data_dir,cfg->dir[f->dir]->code);	if((file=sopen(str,O_RDONLY|O_BINARY,SH_DENYWR))==-1) {		return(FALSE); 	}	length=(long)filelength(file);	if(!length) {		close(file);		return(FALSE); 	}	if((ixbbuf=(char *)malloc(length))==0) {		close(file);		return(FALSE); 	}	if(lread(file,ixbbuf,length)!=length) {		close(file);		free((char *)ixbbuf);		return(FALSE); 	}	close(file);	if((file=sopen(str,O_WRONLY|O_TRUNC|O_BINARY,SH_DENYRW))==-1) {		return(FALSE); 	}	for(l=0;l<length;l+=F_IXBSIZE) {		for(i=0;i<11;i++)			ixbname[i]=ixbbuf[l+i];		ixbname[i]=0;		if(stricmp(ixbname,fname))			if(lwrite(file,&ixbbuf[l],F_IXBSIZE)!=F_IXBSIZE) {				close(file);				free((char *)ixbbuf);				return(FALSE); 		} 	}	free((char *)ixbbuf);	close(file);	SAFEPRINTF2(str,"%s%s.dat",cfg->dir[f->dir]->data_dir,cfg->dir[f->dir]->code);	if((file=sopen(str,O_WRONLY|O_BINARY,SH_DENYRW))==-1) {		return(FALSE); 	}	lseek(file,f->datoffset,SEEK_SET);	c=ETX;          /* If first char of record is ETX, record is unused */	if(write(file,&c,1)!=1) { /* So write a D_T on the first byte of the record */		close(file);		return(FALSE); 	}	close(file);	if(f->dir==cfg->user_dir)  /* remove file from index */		rmuserxfers(cfg,0,0,f->name);	return(TRUE);}
开发者ID:K6BSD,项目名称:SBBSUnstable,代码行数:59,


示例6: sopen_test_thread

static void sopen_test_thread(void* arg){	int fd;	if((fd=sopen(LOCK_FNAME,O_RDWR,SH_DENYWR))!=-1)		printf("!FAILURE: allowed to reopen with SH_DENYWR/n");	else if((fd=sopen(LOCK_FNAME,O_RDWR,SH_DENYRW))!=-1)		printf("!FAILURE: allowed to reopen with SH_DENYRW/n");	else		printf("reopen disallowed/n");	if(fd!=-1)		close(fd);}
开发者ID:K6BSD,项目名称:SBBSUnstable,代码行数:14,


示例7: sopen

VOID TProtocol::Delete (){   int fdNew;   USHORT DoClose = FALSE;   ULONG Position;   if (fdDat == -1) {      fdDat = sopen (DataFile, O_RDWR|O_BINARY|O_CREAT, SH_DENYNO, S_IREAD|S_IWRITE);      DoClose = TRUE;   }   fdNew = sopen ("temp.dat", O_RDWR|O_BINARY|O_CREAT, SH_DENYNO, S_IREAD|S_IWRITE);   if (fdDat != -1 && fdNew != -1) {      if ((Position = tell (fdDat)) > 0L)         Position -= sizeof (PROTOCOL);      lseek (fdDat, 0L, SEEK_SET);      while (read (fdDat, &prot, sizeof (PROTOCOL)) == sizeof (PROTOCOL)) {         if (strcmp (Key, prot.Key))            write (fdNew, &prot, sizeof (PROTOCOL));      }      lseek (fdDat, 0L, SEEK_SET);      lseek (fdNew, 0L, SEEK_SET);      while (read (fdNew, &prot, sizeof (PROTOCOL)) == sizeof (PROTOCOL))            write (fdDat, &prot, sizeof (PROTOCOL));      chsize (fdDat, tell (fdDat));      lseek (fdDat, Position, SEEK_SET);      if (Next () == FALSE) {         if (Previous () == FALSE)            New ();      }   }   if (fdNew != -1) {      close (fdNew);      unlink ("temp.dat");   }   if (fdDat != -1 && DoClose == TRUE) {      close (fdDat);      fdDat = -1;   }}
开发者ID:kenjreno,项目名称:lora3,代码行数:48,


示例8: open_gamedab

void open_gamedab(){if((gamedab=sopen("game.dab",O_RDWR|O_BINARY,SH_DENYNO))==-1) {    bputs("Error opening game.dab/r/n");                /* open deny none */    pause();	exit(1); }}
开发者ID:ftnapps,项目名称:pkg-sbbs,代码行数:7,


示例9: GetGripperRect

void CXySlider::PaintGripper(CDC *pdc){    CRect rc = GetGripperRect();    COLORREF color = ::GetSysColor(COLOR_BTNFACE);    if(m_gripperHighlight)    {        int r = RGB_GET_RVALUE(color);        int g = RGB_GET_GVALUE(color);        int b = RGB_GET_BVALUE(color);        r += (255 - r)/3;        g += (255 - g)/3;        b += (255 - b)/3;        color = RGB(r, g, b);    }    pdc->FillSolidRect(rc, color);    pdc->DrawEdge(rc, EDGE_RAISED, BF_RECT);    CPen pen(PS_SOLID, 1, ::GetSysColor(COLOR_3DSHADOW));    CSelectObject sopen(pdc, &pen);    pdc->MoveTo(rc.left, rc.top + rc.Height() / 2);    pdc->LineTo(rc.right, rc.top + rc.Height() / 2);    pdc->MoveTo(rc.left + rc.Width() / 2, rc.top);    pdc->LineTo(rc.left + rc.Width() / 2, rc.bottom);}
开发者ID:JDuverge,项目名称:windirstat,代码行数:26,


示例10: RGB

void CXySlider::PaintBackground(CDC *pdc){    pdc->FillSolidRect(m_rcAll, ::GetSysColor(COLOR_BTNFACE));    CRect rc = m_rcInner;    pdc->DrawEdge(rc, EDGE_SUNKEN, BF_RECT | BF_ADJUST);    pdc->FillSolidRect(rc, RGB(255,255,255));    CPen pen(PS_SOLID, 1, ::GetSysColor(COLOR_3DLIGHT));    CSelectObject sopen(pdc, &pen);    pdc->MoveTo(rc.left, m_zero.y);    pdc->LineTo(rc.right, m_zero.y);    pdc->MoveTo(m_zero.x, rc.top);    pdc->LineTo(m_zero.x, rc.bottom);    CRect circle = m_rcAll;    circle.DeflateRect(m_gripperRadius);    CSelectStockObject sobrush(pdc, NULL_BRUSH);    pdc->Ellipse(circle);    if(GetFocus() == this)    {        pdc->DrawFocusRect(m_rcAll);    }}
开发者ID:JDuverge,项目名称:windirstat,代码行数:28,


示例11: main

int main(void){   FILE *fout;   int i, fserial;   fout = fopen("rom56.bin", "w");   if (fout == NULL)   {      fprintf(stderr, "can't open rom56.bin for writing/n");      exit(1);   }   fserial = sopen("/dev/ttyS0", B19200);   if (fserial == -1)   {      fprintf(stderr, "can't open serial port/n");      exit(1);   }   for (i=0; i<0x1000; i++)   {      fputc(sgetc(fserial), fout);      printf(".");   }   fclose(fout);   sclose(fserial);   return 0;}
开发者ID:dgchurchill,项目名称:nanowasp-tools,代码行数:30,


示例12: sprintf

VOID FIDOSDM::SetHWM (ULONG ulMsg){   int fd;   CHAR Temp[128];   struct dosdate_t d_date;   struct dostime_t d_time;   FIDOMSG Hdr;   sprintf (Temp, "%s1.msg", BasePath);   if ((fd = sopen (Temp, O_WRONLY|O_BINARY|O_CREAT|O_TRUNC, SH_DENYNO, S_IREAD|S_IWRITE)) != -1) {      memset (&Hdr, 0, sizeof (FIDOMSG));      strcpy (Hdr.From, "MsgBase");      strcpy (Hdr.To, "Nobody in particular");      strcpy (Hdr.Subject, "Re: Whatsa high water mark?");      _dos_getdate (&d_date);      _dos_gettime (&d_time);      sprintf (Hdr.Date, "%2d %3.3s %02d  %02d:%02d:%02d", d_date.day, fidoMonths[d_date.month - 1], d_date.year % 100, d_time.hour, d_time.minute, d_time.second);      Hdr.Up = (USHORT)ulMsg;      Hdr.Attrib = MSGPRIVATE|MSGSENT|MSGREAD;      write (fd, &Hdr, sizeof (FIDOMSG));      strcpy (Temp, "/r/nThis message is used to store the high water mark/r/n");      write (fd, Temp, strlen (Temp) + 1);      close (fd);   }}
开发者ID:kenjreno,项目名称:lora3,代码行数:25,


示例13: Change

VOID TFileTag::Change (PSZ pszOldName, PSZ pszNewName){   int fd, i, Count, Changed;   ULONG Position;   FILETAGS *Buffer;   if ((fd = sopen (DatFile, O_RDWR|O_BINARY|O_CREAT, SH_DENYNO, S_IREAD|S_IWRITE)) != -1) {      if ((Buffer = (FILETAGS *)malloc (sizeof (FILETAGS) * FILETAGS_INDEX)) != NULL) {         do {            Changed = FALSE;            Position = tell (fd);            Count = read (fd, Buffer, sizeof (FILETAGS) * FILETAGS_INDEX) / sizeof (FILETAGS);            for (i = 0; i < Count; i++) {               if (Buffer[i].Free == FALSE && !stricmp (Buffer[i].Area, pszOldName)) {                  strcpy (Buffer[i].Area, pszNewName);                  Changed = TRUE;               }            }            if (Changed == TRUE) {               lseek (fd, Position, SEEK_SET);               write (fd, Buffer, sizeof (FILETAGS) * Count);            }         } while (Count == FILETAGS_INDEX);         free (Buffer);      }      close (fd);   }}
开发者ID:kenjreno,项目名称:lora3,代码行数:31,


示例14: hacklog

extern "C" BOOL DLLCALL hacklog(scfg_t* cfg, char* prot, char* user, char* text, char* host, SOCKADDR_IN* addr){	char	hdr[1024];	char	tstr[64];	char	fname[MAX_PATH+1];	int		file;	time32_t now=time32(NULL);	sprintf(fname,"%shack.log",cfg->logs_dir);	if((file=sopen(fname,O_CREAT|O_RDWR|O_BINARY|O_APPEND,SH_DENYWR,DEFFILEMODE))==-1)		return(FALSE);	sprintf(hdr,"SUSPECTED %s HACK ATTEMPT for user '%s' on %.24s/r/nUsing port %u at %s [%s]/r/nDetails: "		,prot		,user		,timestr(cfg,now,tstr)		,addr->sin_port		,host		,inet_ntoa(addr->sin_addr)		);	write(file,hdr,strlen(hdr));	write(file,text,strlen(text));	write(file,crlf,2);	write(file,crlf,2);	close(file);	return(TRUE);}
开发者ID:kindy,项目名称:synchronet-bbs-1,代码行数:29,


示例15: initlog

void CLog::initlog(){  logfile=sopen(g->v.log,O_WRONLY|O_APPEND|O_CREAT|O_TEXT,SH_DENYWR,S_IREAD|S_IWRITE);  if (logfile==-1)    throw errors("Unable to open log file "+g->v.log);  write(logfile,"/r/n",2);}
开发者ID:inspirer,项目名称:history,代码行数:7,


示例16: my_create

File my_create(const char *FileName, int CreateFlags, int access_flags,	       myf MyFlags){  int fd;  DBUG_ENTER("my_create");  DBUG_PRINT("my",("Name: '%s' CreateFlags: %d  AccessFlags: %d  MyFlags: %d",		   FileName, CreateFlags, access_flags, MyFlags));#if !defined(NO_OPEN_3) && !defined(__EMX__)  fd = open((my_string) FileName, access_flags | O_CREAT,	    CreateFlags ? CreateFlags : my_umask);#elif defined(VMS)  fd = open((my_string) FileName, access_flags | O_CREAT, 0,	    "ctx=stm","ctx=bin");#elif defined(MSDOS) || defined(__WIN__) || defined(__EMX__) || defined(OS2)  if (access_flags & O_SHARE)    fd = sopen((my_string) FileName, access_flags | O_CREAT | O_BINARY,	       SH_DENYNO, MY_S_IREAD | MY_S_IWRITE);  else    fd =  open((my_string) FileName, access_flags | O_CREAT | O_BINARY,	       MY_S_IREAD | MY_S_IWRITE);#else  fd = open(FileName, access_flags);#endif  DBUG_RETURN(my_register_filename(fd, FileName, FILE_BY_CREATE,				   EE_CANTCREATEFILE, MyFlags));} /* my_create */
开发者ID:AzerTyQsdF,项目名称:osx,代码行数:28,


示例17: Load

VOID TMsgTag::Load (){   int fd, i, Count;   MSGTAGS *Buffer;   Data.Clear ();   if ((fd = sopen (DatFile, O_RDONLY|O_BINARY, SH_DENYNO, S_IREAD|S_IWRITE)) != -1) {      if ((Buffer = (MSGTAGS *)malloc (sizeof (MSGTAGS) * MSGTAGS_INDEX)) != NULL) {         do {            Count = read (fd, Buffer, sizeof (MSGTAGS) * MSGTAGS_INDEX) / sizeof (MSGTAGS);            for (i = 0; i < Count; i++) {               if (Buffer[i].Free == FALSE && Buffer[i].UserId == UserId)                  Data.Add (&Buffer[i], sizeof (MSGTAGS));            }         } while (Count == MSGTAGS_INDEX);         free (Buffer);      }      close (fd);   }   if ((Buffer = (MSGTAGS *)Data.First ()) != NULL) {      Tagged = Buffer->Tagged;      strcpy (Area, Buffer->Area);      LastRead = Buffer->LastRead;      OlderMsg = Buffer->OlderMsg;   }}
开发者ID:kenjreno,项目名称:lora3,代码行数:28,


示例18: lock_test_thread

static void lock_test_thread(void* arg){	int	fd;	fd=sopen(LOCK_FNAME,O_RDWR,SH_DENYNO);	if(lock(fd,LOCK_OFFSET,LOCK_LEN)==0)		printf("!FAILURE: Lock not effective between threads/n");	else		printf("Locks effective between threads/n");	close(fd);	fd=sopen(LOCK_FNAME,O_RDWR,SH_DENYNO);	if(lock(fd,LOCK_OFFSET,LOCK_LEN))		printf("Locks survive file open()/close() in other thread/n");	else		printf("!FAILURE: Locks do not survive file open()/close() in other thread/n");	close(fd);}
开发者ID:K6BSD,项目名称:SBBSUnstable,代码行数:17,


示例19: srv

voidsrv(Srv *srv){	Req *r;	fmtinstall('D', dirfmt);	fmtinstall('F', fcallfmt);	if(srv->fpool == nil)		srv->fpool = allocfidpool(srv->destroyfid);	if(srv->rpool == nil)		srv->rpool = allocreqpool(srv->destroyreq);	if(srv->msize == 0)		srv->msize = 8192+IOHDRSZ;	changemsize(srv, srv->msize);	srv->fpool->srv = srv;	srv->rpool->srv = srv;	while(r = getreq(srv)){		if(r->error){			respond(r, r->error);			continue;			}		switch(r->ifcall.type){		default:			respond(r, "unknown message");			break;		case Tversion:	sversion(srv, r);	break;		case Tauth:	sauth(srv, r);	break;		case Tattach:	sattach(srv, r);	break;		case Tflush:	sflush(srv, r);	break;		case Twalk:	swalk(srv, r);	break;		case Topen:	sopen(srv, r);	break;		case Tcreate:	screate(srv, r);	break;		case Tread:	sread(srv, r);	break;		case Twrite:	swrite(srv, r);	break;		case Tclunk:	sclunk(srv, r);	break;		case Tremove:	sremove(srv, r);	break;		case Tstat:	sstat(srv, r);	break;		case Twstat:	swstat(srv, r);	break;		}	}	free(srv->rbuf);	srv->rbuf = nil;	free(srv->wbuf);	srv->wbuf = nil;	srv->msize = 0;	freefidpool(srv->fpool);	srv->fpool = nil;	freereqpool(srv->rpool);	srv->rpool = nil;	if(srv->end)		srv->end(srv);}
开发者ID:npe9,项目名称:harvey,代码行数:58,


示例20: _open

int _RTL_FUNC _open  (const char *__path, int __access,... /*unsigned mode*/){   int amode ;   va_list ap ;   va_start(ap, __access) ;   amode = *(int *)ap ;   va_end(ap) ;   return sopen(__path,__access & ~0x70,__access & 0x70,amode) ;}
开发者ID:doniexun,项目名称:OrangeC,代码行数:9,


示例21: LoadImplicitLittleEndianFile

DICOMDataObject*LoadImplicitLittleEndianFile(char* filename, unsigned int iVrSizeLimit){	DICOMDataObject*	pDDO;	int			handle;	char			Buf[128 + 4];	PDU_Service		PDU;	unsigned int		iLastTime, iCurTime;	CBufferedIO*		pBufferedIO;	PDU.AttachRTC(&VRType);#ifdef WIN32		handle = sopen( filename, O_RDONLY | O_BINARY, SH_DENYNO, S_IREAD);#else	handle = open( filename, O_RDONLY);#endif	if (handle == -1)	{		return NULL;	}	pBufferedIO = new CBufferedIO(iVrSizeLimit < 0x1000 ? 0x1000 : 0x8000);	/* Find out whether marker 'DICM' exists */	if (pBufferedIO->read(handle, Buf, 128 + 4) != 128 + 4)	{		delete pBufferedIO;		close(handle);		return NULL;	}	else	{		if (strncmp(Buf + 128, "DICM", 4) != 0)		{			pBufferedIO->lseek(handle, 0, SEEK_SET);			/* We are at beginning of the VRs */			pDDO = new DICOMDataObject;			LoadImplicitLittleEndian(pDDO, pBufferedIO, handle, iVrSizeLimit);//iLastTime = timeGetTime();			delete pBufferedIO;			close(handle);//iCurTime = timeGetTime();//printf("fopen=%d/r/n", iCurTime - iLastTime);			return pDDO;		}		else		{			/* The function 'LoadImplicitLittleEndianFile' is not intended for			   DICM files, however don't be fuzzy about it... */			delete pBufferedIO;			close(handle);			pDDO = PDU.LoadDICOMDataObject(filename);			return pDDO;		}	}}
开发者ID:151706061,项目名称:Conquest-DICOM-Server,代码行数:57,


示例22: RecurseCheckTree

void CTreemap::DrawTreemap(CDC *pdc, CRect rc, Item *root, const Options *options){	RecurseCheckTree(root);	if (options != NULL)		SetOptions(options);	if (rc.Width() <= 0 || rc.Height() <= 0)		return;	if (m_options.grid)	{		pdc->FillSolidRect(rc, m_options.gridColor);	}	else	{		// We shrink the rectangle here, too.		// If we didn't do this, the layout of the treemap would		// change, when grid is switched on and off.		CPen pen(PS_SOLID, 1, GetSysColor(COLOR_3DSHADOW));		CSelectObject sopen(pdc, &pen);		pdc->MoveTo(rc.right - 1, rc.top);		pdc->LineTo(rc.right - 1, rc.bottom);		pdc->MoveTo(rc.left, rc.bottom - 1);		pdc->LineTo(rc.right, rc.bottom - 1);	}	rc.right--;	rc.bottom--;	if (rc.Width() <= 0 || rc.Height() <= 0)		return;	if (root->TmiGetSize() > 0)	{		double surface[4];		for (int i=0; i < 4; i++)			surface[i]= 0;		RecurseDrawGraph(pdc, root, rc, true, surface, m_options.height, 0);#ifdef STRONGDEBUG	// slow, but finds bugs!#ifdef _DEBUG		for (int x=rc.left; x < rc.right - m_options.grid; x++)		for (int y=rc.top; y < rc.bottom - m_options.grid; y++)			ASSERT(FindItemByPoint(root, CPoint(x, y)) != NULL);#endif#endif	}	else	{		pdc->FillSolidRect(rc, RGB(0,0,0));	}}
开发者ID:coapp-packages,项目名称:windirstat,代码行数:55,



注:本文中的sopen函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ sort函数代码示例
C++ solver函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。