CMGDK r49-rc2
K:/CMGDKv18/SDK/Include/hgl/stream/FileStream.H
浏览该文件的文档。
00001 # i f n d e f   H G L _ F I L E S T R E A M _ I N C L U D E 
00002  
00003  # d e f i n e   H G L _ F I L E S T R E A M _ I N C L U D E 
00004  
00005  
00006  
00007  # i n c l u d e < h g l / s t r e a m / S t r e a m . H > 
00008  
00009  n a m e s p a c e   h g l 
00010  
00011  { 
00012  
00013      e n u m   F i l e O p e n M o d e                                                   / / / eN!j_g>N
00014  
00015      { 
00016  
00017          f o m C r e a t e       = 0 x 0 1 ,                                 / / / < R^ N*NeN, SQe_
00018  
00019          f o m O p e n R e a d           = 0 x 0 2 ,                                 / / / < Sb _ N*NeN, Se_
00020  
00021          f o m O p e n W r i t e         = 0 x 0 4 ,                                 / / / < Sb _ N*NeN, SQe_
00022  
00023          f o m O p e n R e a d W r i t e = f o m O p e n R e a d | f o m O p e n W r i t e ,     / / / < Sb _ N*NeN, SSQ
00024  
00025  
00026  
00027          f o m R e a d           = f o m O p e n R e a d , 
00028  
00029          f o m W r i t e         = f o m O p e n W r i t e , 
00030  
00031          f o m R e a d W r i t e     = f o m O p e n R e a d W r i t e 
00032  
00033      } ; / / e n u m   F i l e O p e n M o d e 
00034  
00035  
00036  
00037      / * * 
00038  
00039      *   F i l e S t r e a m /f N*N[eNvAm_{|[NS t r e a m {|>mu
00040  
00041      * / 
00042  
00043      c l a s s   F i l e S t r e a m : p u b l i c   S t r e a m                                                                                                                                     / / / eNAmd\O{|
00044  
00045      { 
00046  
00047          f r i e n d   c l a s s   P a r t F i l e S t r e a m ; 
00048  
00049      
00050  
00051          w c h a r _ t   * f i l e n a m e ; 
00052  
00053  
00054  
00055  # i f   H G L _ O S = = H G L _ O S _ W i n d o w s 
00056  
00057          v o i d   * f p ; 
00058  
00059  # e l s e 
00060  
00061          i n t   f p ; 
00062  
00063  # e n d i f / / H G L _ O S = = H G L _ O S _ W i n d o w s 
00064  
00065  
00066  
00067          u n s i g n e d   l o n g   r e s u l t ; 
00068  
00069  
00070  
00071          i n t 6 4   c u r _ p o s ; 
00072  
00073  
00074  
00075          b o o l   c a n _ r e a d , c a n _ w r i t e ; 
00076  
00077  
00078  
00079      p r o t e c t e d : 
00080  
00081  
00082  
00083          i n t 6 4   G e t P o s i t i o n ( ) ; 
00084  
00085          v o i d   S e t P o s i t i o n ( i n t 6 4 ) ; 
00086  
00087  
00088  
00089          i n t 6 4   G e t S i z e ( ) ; 
00090  
00091          v o i d   S e t S i z e ( i n t 6 4 ) ; 
00092  
00093  
00094  
00095          b o o l   G e t C a n S e e k ( ) { r e t u r n   t r u e ; } 
00096  
00097          b o o l   G e t C a n R e a d ( ) { r e t u r n   c a n _ r e a d ; } 
00098  
00099          b o o l   G e t C a n W r i t e ( ) { r e t u r n   c a n _ w r i t e ; } 
00100  
00101  
00102  
00103          v o i d   I n i t P r i v a t e ( ) ; 
00104  
00105  
00106  
00107          i n t 6 4   _ R e a d ( v o i d   * , i n t 6 4 ) ; 
00108  
00109          i n t 6 4   _ W r i t e ( c o n s t   v o i d   * , i n t 6 4 ) ; 
00110  
00111  
00112  
00113      p u b l i c :   / / el
00114  
00115  
00116  
00117          F i l e S t r e a m ( ) ; 
00118  
00119          F i l e S t r e a m ( v o i d   * ) ; 
00120  
00121          ~ F i l e S t r e a m ( ) ; 
00122  
00123  
00124  
00125          b o o l   C r e a t e ( c o n s t   w c h a r _ t   * ) ; 
00126  
00127          b o o l   O p e n ( c o n s t   w c h a r _ t   * , F i l e O p e n M o d e = f o m O p e n R e a d ) ; 
00128  
00129          v o i d   C l o s e ( ) ; 
00130  
00131  
00132  
00133          i n t 6 4   S e e k ( i n t 6 4 , S e e k O r i g i n = s o B e g i n ) ; 
00134  
00135      } ; / / c l a s s   F i l e S t r e a m 
00136  
00137  
00138  
00139      _ _ i n l i n e   F i l e S t r e a m   * O p e n F i l e S t r e a m ( c o n s t   w c h a r _ t   * f i l e n a m e , F i l e O p e n M o d e   m o d e = f o m O p e n R e a d ) 
00140  
00141      { 
00142  
00143          F i l e S t r e a m   * f s = n e w   F i l e S t r e a m ; 
00144  
00145  
00146  
00147          i f ( f s - > O p e n ( f i l e n a m e , m o d e ) ) 
00148  
00149              r e t u r n ( f s ) ; 
00150  
00151          e l s e 
00152  
00153          { 
00154  
00155              d e l e t e   f s ; 
00156  
00157              r e t u r n ( N U L L ) ; 
00158  
00159          } 
00160  
00161      } 
00162  
00163  } / / n a m e s p a c e   h g l 
00164  
00165  / / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
00166  
00167  # e n d i f / / H G L _ F I L E S T R E A M _ I N C L U D E 
00168  
00169  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义