锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲无毛电影,国产精品麻豆va在线播放,久久精品人人做人人爽http://m.shnenglu.com/liu1061/category/5732.html鐢熸椿鍜屽伐浣滈兘瑕佸厖婊℃縺鎯?鍚﹀垯浣犳棤娉曚綋浼氬埌娣嬫紦灝借嚧鐨勫揩涔愪笌鐥涜嫤zh-cnFri, 29 Aug 2008 03:22:32 GMTFri, 29 Aug 2008 03:22:32 GMT60鎬葷粨鑷繁鍐欑▼搴忔椂鐨勫彉閲忥紝鍑芥暟鍛藉悕椋庢牸錛?/title><link>http://m.shnenglu.com/liu1061/articles/60311.html</link><dc:creator>T.S Liu</dc:creator><author>T.S Liu</author><pubDate>Thu, 28 Aug 2008 16:25:00 GMT</pubDate><guid>http://m.shnenglu.com/liu1061/articles/60311.html</guid><wfw:comment>http://m.shnenglu.com/liu1061/comments/60311.html</wfw:comment><comments>http://m.shnenglu.com/liu1061/articles/60311.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/liu1061/comments/commentRss/60311.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/liu1061/services/trackbacks/60311.html</trackback:ping><description><![CDATA[<p><br>鎬葷粨鑷繁鍐欑▼搴忔椂鐨勫彉閲忥紝鍑芥暟鍛藉悕椋庢牸錛?br>                                                                                                         example :<br><span style="FONT-FAMILY: courier new">pointer --> p_+varname;                   int *p_ivalue = NULL; <br>typedef --> t_+typenam;                   typedef struct name t_name<br>globle variable --> g_+typevarname        int g_ivalue  = 0;<br>member variable --> m_+typevarname        int m_ivalue  = 0;<br>static variable --> s_+typevarname        static int s_ivalue = 0;<br>temp variable   --> typevarname           int ivalue = 0;<br>string varable  --> str_varname           string str_name;<br>const string varalbe --> cstr_varname     const string cstr_name</span></p> <p style="FONT-FAMILY: courier new"><br>function style :<br>extern int name_name_name(type var_name,...)</p> <img src ="http://m.shnenglu.com/liu1061/aggbug/60311.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/liu1061/" target="_blank">T.S Liu</a> 2008-08-29 00:25 <a href="http://m.shnenglu.com/liu1061/articles/60311.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>C甯哥敤瀹忓畾涔夛紒錛侊紒http://m.shnenglu.com/liu1061/articles/54896.htmlT.S LiuT.S LiuSun, 29 Jun 2008 02:06:00 GMThttp://m.shnenglu.com/liu1061/articles/54896.htmlhttp://m.shnenglu.com/liu1061/comments/54896.htmlhttp://m.shnenglu.com/liu1061/articles/54896.html#Feedback0http://m.shnenglu.com/liu1061/comments/commentRss/54896.htmlhttp://m.shnenglu.com/liu1061/services/trackbacks/54896.html01: 闃叉涓涓ご鏂囦歡琚噸澶嶅寘鍚?br>#ifndef COMDEF_H
#define COMDEF_H
//澶存枃浠跺唴瀹?br>#endif
02: 閲嶆柊瀹氫箟涓浜涚被鍨?闃叉鐢變簬鍚勭騫沖彴鍜岀紪璇戝櫒鐨勪笉鍚?鑰屼駭鐢熺殑綾誨瀷瀛楄妭鏁板樊寮?鏂逛究縐繪銆?br>typedef  unsigned char      boolean;     /* Boolean value type. */
typedef  unsigned long int  uint32;      /* Unsigned 32 bit value */
typedef  unsigned short     uint16;      /* Unsigned 16 bit value */
typedef  unsigned char      uint8;       /* Unsigned 8  bit value */
typedef  signed long int    int32;       /* Signed 32 bit value */
typedef  signed short       int16;       /* Signed 16 bit value */
typedef  signed char        int8;        /* Signed 8  bit value */

//涓嬮潰鐨勪笉寤鴻浣跨敤
typedef  unsigned char     byte;         /* Unsigned 8  bit value type. */
typedef  unsigned short    word;         /* Unsinged 16 bit value type. */
typedef  unsigned long     dword;        /* Unsigned 32 bit value type. */
typedef  unsigned char     uint1;        /* Unsigned 8  bit value type. */
typedef  unsigned short    uint2;        /* Unsigned 16 bit value type. */
typedef  unsigned long     uint4;        /* Unsigned 32 bit value type. */
typedef  signed char       int1;         /* Signed 8  bit value type. */
typedef  signed short      int2;         /* Signed 16 bit value type. */
typedef  long int          int4;         /* Signed 32 bit value type. */
typedef  signed long       sint31;       /* Signed 32 bit value */
typedef  signed short      sint15;       /* Signed 16 bit value */
typedef  signed char       sint7;        /* Signed 8  bit value */

03: 寰楀埌鎸囧畾鍦板潃涓婄殑涓涓瓧鑺傛垨瀛?br>#define  MEM_B(x) (*((byte *)(x)))
#define  MEM_W(x) (*((word *)(x)))

04: 姹傛渶澶у煎拰鏈灝忓?br>#define  MAX(x,y) (((x)>(y)) ? (x) : (y))
#define  MIN(x,y) (((x) < (y)) ? (x) : (y))

05: 寰楀埌涓涓猣ield鍦ㄧ粨鏋勪綋(struct)涓殑鍋忕Щ閲?br>#define FPOS(type,field) ((dword)&((type *)0)->field)

06: 寰楀埌涓涓粨鏋勪綋涓璮ield鎵鍗犵敤鐨勫瓧鑺傛暟
#define FSIZ(type,field) sizeof(((type *)0)->field)

07: 鎸夌収LSB鏍煎紡鎶婁袱涓瓧鑺傝漿鍖栦負涓涓猈ord
#define FLIPW(ray) ((((word)(ray)[0]) * 256) + (ray)[1])

08: 鎸夌収LSB鏍煎紡鎶婁竴涓猈ord杞寲涓轟袱涓瓧鑺?br>#define FLOPW(ray,val) (ray)[0] = ((val)/256); (ray)[1] = ((val) & 0xFF)

09: 寰楀埌涓涓彉閲忕殑鍦板潃錛坵ord瀹藉害錛?br>#define B_PTR(var)  ((byte *) (void *) &(var))
#define W_PTR(var)  ((word *) (void *) &(var))

10: 寰楀埌涓涓瓧鐨勯珮浣嶅拰浣庝綅瀛楄妭
#define WORD_LO(xxx)  ((byte) ((word)(xxx) & 255))
#define WORD_HI(xxx)  ((byte) ((word)(xxx) >> 8))

11: 榪斿洖涓涓瘮X澶х殑鏈鎺ヨ繎鐨?鐨勫嶆暟
#define RND8(x) ((((x) + 7)/8) * 8)

12: 灝嗕竴涓瓧姣嶈漿鎹負澶у啓
#define UPCASE(c) (((c)>='a' && (c) <= 'z') ? ((c) - 0x20) : (c))

13: 鍒ゆ柇瀛楃鏄笉鏄?0榪涘肩殑鏁板瓧
#define  DECCHK(c) ((c)>='0' && (c)<='9')

14: 鍒ゆ柇瀛楃鏄笉鏄?6榪涘肩殑鏁板瓧
#define HEXCHK(c) (((c) >= '0' && (c)<='9') ((c)>='A' && (c)<= 'F') \
((c)>='a' && (c)<='f'))

15: 闃叉婧㈠嚭鐨勪竴涓柟娉?br>#define INC_SAT(val) (val=((val)+1>(val)) ? (val)+1 : (val))

16: 榪斿洖鏁扮粍鍏冪礌鐨勪釜鏁?br>#define ARR_SIZE(a)  (sizeof((a))/sizeof((a[0])))

17: 榪斿洖涓涓棤絎﹀彿鏁皀灝劇殑鍊糓OD_BY_POWER_OF_TWO(X,n)=X%(2^n)
#define MOD_BY_POWER_OF_TWO( val, mod_by ) ((dword)(val) & (dword)((mod_by)-1))

18: 瀵逛簬IO絀洪棿鏄犲皠鍦ㄥ瓨鍌ㄧ┖闂寸殑緇撴瀯,杈撳叆杈撳嚭澶勭悊
#define inp(port) (*((volatile byte *)(port)))
#define inpw(port) (*((volatile word *)(port)))
#define inpdw(port) (*((volatile dword *)(port)))
#define outp(port,val) (*((volatile byte *)(port))=((byte)(val)))
#define outpw(port, val) (*((volatile word *)(port))=((word)(val)))
#define outpdw(port, val) (*((volatile dword *)(port))=((dword)(val)))

19: 浣跨敤涓浜涘畯璺熻釜璋冭瘯
ANSI鏍囧噯璇存槑浜嗕簲涓瀹氫箟鐨勫畯鍚嶃傚畠浠槸錛?br>__LINE__
__FILE__
__DATE__
__TIME__
__STDC__
C++涓繕瀹氫箟浜?__cplusplus

濡傛灉緙栬瘧鍣ㄤ笉鏄爣鍑嗙殑,鍒欏彲鑳戒粎鏀寔浠ヤ笂瀹忓悕涓殑鍑犱釜,鎴栨牴鏈笉鏀寔銆傝浣忕紪璇戠▼搴忎篃璁歌繕鎻愪緵鍏跺畠棰勫畾涔夌殑瀹忓悕銆?br>
__LINE__ 鍙?__FILE__ 瀹忔寚紺猴紝#line鎸囦護鍙互鏀瑰彉瀹冪殑鍊鹼紝綆鍗曠殑璁詫紝緙栬瘧鏃訛紝瀹冧滑鍖呭惈紼嬪簭鐨勫綋鍓嶈鏁板拰鏂囦歡鍚嶃?br>
__DATE__ 瀹忔寚浠ゅ惈鏈夊艦寮忎負鏈?鏃?騫寸殑涓?琛ㄧず婧愭枃浠惰緲昏瘧鍒頒唬鐮佹椂鐨勬棩鏈熴?br>__TIME__ 瀹忔寚浠ゅ寘鍚▼搴忕紪璇戠殑鏃墮棿銆傛椂闂寸敤瀛楃涓茶〃紺猴紝鍏跺艦寮忎負錛?鍒嗭細縐?br>__STDC__ 瀹忔寚浠ょ殑鎰忎箟鏄紪璇戞椂瀹氫箟鐨勩備竴鑸潵璁詫紝濡傛灉__STDC__宸茬粡瀹氫箟錛岀紪璇戝櫒灝嗕粎鎺ュ彈涓嶅寘鍚換浣曢潪鏍囧噯鎵╁睍鐨勬爣鍑咰/C++浠g爜銆傚鏋滃疄鐜版槸鏍囧噯鐨?鍒欏畯__STDC__鍚湁鍗佽繘鍒跺父閲?銆傚鏋滃畠鍚湁浠諱綍鍏跺畠鏁?鍒欏疄鐜版槸闈炴爣鍑嗙殑銆?br>__cplusplus 涓庢爣鍑哻++涓鑷寸殑緙栬瘧鍣ㄦ妸瀹冨畾涔変負涓涓寘鍚嚦灝?涓虹殑鏁板箋備笌鏍囧噯c++涓嶄竴鑷寸殑緙栬瘧鍣ㄥ皢浣跨敤鍏鋒湁5浣嶆垨鏇村皯鐨勬暟鍊箋?br>

鍙互瀹氫箟瀹?渚嬪:
褰撳畾涔変簡_DEBUG,杈撳嚭鏁版嵁淇℃伅鍜屾墍鍦ㄦ枃浠舵墍鍦ㄨ
#ifdef _DEBUG
#define DEBUGMSG(msg,date) printf(msg);printf(“%d%d%d”,date,_LINE_,_FILE_)
#else
#define DEBUGMSG(msg,date)
#endif
 

20錛?/span> 瀹忓畾涔夐槻姝㈤敊璇嬌鐢ㄥ皬鎷彿鍖呭惈銆?br>渚嬪錛?br>鏈夐棶棰樼殑瀹氫箟錛?define DUMP_WRITE(addr,nr) {memcpy(bufp,addr,nr); bufp += nr;}
搴旇浣跨敤鐨勫畾涔夛細 #difne DO(a,b) do{a+b;a++;}while(0)
渚嬪錛?br>if(addr)
    DUMP_WRITE(addr,nr);
else
    do_somethong_else();
瀹忓睍寮浠ュ悗鍙樻垚榪欐牱:
if(addr)
    {memcpy(bufp,addr,nr); bufp += nr;};
else
    do_something_else();

gcc鍦ㄧ鍒癳lse鍓嶉潰鐨?#8220;錛?#8221;鏃跺氨璁や負if璇彞宸茬粡緇撴潫錛屽洜鑰屽悗闈㈢殑else涓嶅湪if璇彞涓傝岄噰鐢╠o{} while(0)鐨勫畾涔夛紝鍦ㄤ換浣曟儏鍐典笅閮芥病鏈夐棶棰樸傝屾敼涓?#difne DO(a,b) do{a+b;a++;}while(0) 鐨勫畾涔夊垯鍦ㄤ換浣曟儏鍐典笅閮戒笉浼氬嚭閿欍?br>

T.S Liu 2008-06-29 10:06 鍙戣〃璇勮
]]>
#define銆乧onst銆乼ypedef鐨勫樊鍒?杞?http://m.shnenglu.com/liu1061/articles/38613.htmlT.S LiuT.S LiuSun, 16 Dec 2007 06:10:00 GMThttp://m.shnenglu.com/liu1061/articles/38613.htmlhttp://m.shnenglu.com/liu1061/comments/38613.htmlhttp://m.shnenglu.com/liu1061/articles/38613.html#Feedback0http://m.shnenglu.com/liu1061/comments/commentRss/38613.htmlhttp://m.shnenglu.com/liu1061/services/trackbacks/38613.html#define 騫朵笉鏄畾涔夊彉閲忓晩

#define 鍙槸鐢ㄦ潵鍋氭枃鏈浛鎹㈢殑

渚嬪錛?/p>

#define Pi 3.1415926

float angel;

angel=30*Pi/180;

閭d箞錛屽綋紼嬪簭榪涜緙栬瘧鐨勬椂鍊?緙栬瘧鍣ㄤ細棣栧厛灝?“#define Pi 3.1415926”浠ュ悗鐨勶紝鎵鏈変唬鐮佷腑鐨?#8220;Pi”鍏ㄩ儴鎹㈡垚 “3.1415926”

鐒跺悗鍐嶈繘琛岀紪璇戙?/p>

 

鎴戞煡鍒頒竴涓const涓?define鐨勫樊鍒殑甯栧瓙錛岄噷闈㈣皥鍒癱onst涓?define鏈澶х殑宸埆鍦ㄤ簬錛氬墠鑰呭湪鍫嗘爤鍒嗛厤浜嗙┖闂達紝鑰屽悗鑰呭彧鏄妸鍏蜂綋鏁板肩洿鎺ヤ紶閫掑埌鐩爣鍙橀噺緗簡銆傛垨鑰呰錛宑onst鐨勫父閲忔槸涓涓猂un-Time鐨勬蹇碉紝浠栧湪紼嬪簭涓‘紜疄瀹炵殑瀛樺湪騫跺彲浠ヨ璋冪敤銆佷紶閫掋傝?define甯擱噺鍒欐槸涓涓狢ompile-Time姒傚康錛屽畠鐨勭敓鍛藉懆鏈熸浜庣紪璇戞湡錛氬湪瀹為檯紼嬪簭涓粬鍙槸涓涓父鏁般佷竴涓懡浠や腑鐨勫弬鏁幫紝娌℃湁瀹為檯鐨勫瓨鍦ㄣ?

const甯擱噺瀛樺湪浜庣▼搴忕殑鏁版嵁孌碉紝#define甯擱噺瀛樺湪浜庣▼搴忕殑浠g爜孌點?/font>

鑷充簬涓よ呯殑浼樼己鐐癸紝瑕佺湅鍏蜂綋鐨勬儏鍐典簡銆備竴鑸殑甯告暟搴旂敤錛岀瑪鑰呬釜浜鴻涓?define鏄竴涓洿濂界殑閫夋嫨錛?/font>

i.浠巖un-time鐨勮搴︽潵鐪嬶紝浠栧湪絀洪棿涓婂拰鏃墮棿涓婇兘鏈夊緢濂戒紭鍔褲?/font>

ii.浠巆ompile-time鐨勮搴︽潵鐪嬶紝綾諱技m=t*10鐨勪唬鐮佷笉浼氳緙栬瘧鍣ㄤ紭鍖栵紝t*10鐨勬搷浣滈渶瑕佸湪run-time鎵ц銆傝?define鐨勫父閲忎細琚悎騫訛紙鍦ㄤ笂渚嬩腑T*10灝嗚0x82鍙栦唬錛夈?/font>

浣嗘槸錛氬鏋滀綘闇瑕佺矖椴佺殑淇敼甯告暟鐨勫鹼紝閭e氨寰椾嬌鐢╟onst浜嗭紝鍥犱負鍚庤呭湪紼嬪簭涓病鏈夊疄闄呯殑瀛樺湪銆傦紙鍏跺疄搴旇璇翠慨鏀規暟鎹姣斾唬鐮佹瑕佺畝鍗昢_^錛夈?/font>

 鏈夊叧#define鐨勭敤娉?/font>

1.綆鍗曠殑define瀹氫箟
#define MAXTIME 1000

紼嬪簭涓亣鍒?/span>MAXTIME灝變細褰撲綔1000鏉ュ鐞?/span>.
涓涓畝鍗曠殑MAXTIME灝卞畾涔夊ソ浜嗭紝瀹冧唬琛?/span>1000錛屽鏋滃湪紼嬪簭閲岄潰鍐?/span>
if(i<MAXTIME){.........}
緙栬瘧鍣ㄥ湪澶勭悊榪欎釜浠g爜涔嬪墠浼氬MAXTIME榪涜澶勭悊鏇挎崲涓?/span>1000銆?/span>
榪欐牱鐨勫畾涔夌湅璧鋒潵綾諱技浜庢櫘閫氱殑甯擱噺瀹氫箟CONST錛屼絾涔熸湁鐫涓嶅悓錛屽洜涓?/span>define鐨勫畾涔夋洿鍍忔槸綆鍗曠殑鏂囨湰鏇挎崲錛岃屼笉鏄綔涓轟竴涓噺鏉ヤ嬌鐢紝榪欎釜闂鍦ㄤ笅闈㈠弽鏄犵殑灝や負紿佸嚭銆?/span>

2.define鐨?/span>鍑芥暟瀹氫箟
define
鍙互鍍忓嚱鏁伴偅鏍鋒帴鍙椾竴浜涘弬鏁幫紝濡備笅
#define max(x,y) (x)>(y)?(x):(y);
榪欎釜瀹氫箟灝卞皢榪斿洖涓や釜鏁頒腑杈冨ぇ鐨勯偅涓紝鐪嬪埌浜嗗悧錛熷洜涓鴻繖涓?/span>鍑芥暟娌℃湁綾誨瀷媯鏌ワ紝灝卞ソ鍍忎竴涓嚱鏁版ā鏉夸技鐨勶紝褰撶劧錛屽畠緇濆娌℃湁妯℃澘閭d箞瀹夊叏灝辨槸浜嗐傚彲浠ヤ綔涓轟竴涓畝鍗曠殑妯℃澘鏉ヤ嬌鐢ㄨ屽凡銆?/span>
浣嗘槸榪欐牱鍋氱殑璇濆瓨鍦ㄩ殣鎮?/span>錛屼緥瀛愬涓嬶細
#define Add(a,b) a+b;
鍦ㄤ竴鑸嬌鐢ㄧ殑鏃跺欐槸娌℃湁闂鐨勶紝浣嗘槸濡傛灉閬囧埌濡傦細c * Add(a,b) * d鐨勬椂鍊欏氨浼氬嚭鐜伴棶棰橈紝浠f暟寮忕殑鏈剰鏄?/span>a+b鐒跺悗鍘誨拰c錛?/span>d鐩鎬箻錛屼絾鏄洜涓轟嬌鐢ㄤ簡define錛堝畠鍙槸涓涓畝鍗曠殑鏇挎崲錛夛紝鎵浠ュ紡瀛愬疄闄呬笂鍙樻垚浜?/span>
c*a + b*d
鍙﹀涓句竴涓緥瀛愶細
#define pin (int*);
pin a,b;
鏈剰鏄?/span>a鍜?/span>b閮芥槸int鍨嬫寚閽堬紝浣嗘槸瀹為檯涓婂彉鎴?/span>int* a,b;
a
鏄?/span>int鍨嬫寚閽堬紝鑰?/span>b鏄?/span>int鍨嬪彉閲忋?/span>
榪欐椂搴旇浣跨敤typedef鏉ヤ唬鏇?/span>define錛岃繖鏍?/span>a鍜?/span>b灝遍兘鏄?/span>int鍨嬫寚閽堜簡銆?/span>
鎵浠ユ垜浠湪瀹氫箟鐨勬椂鍊欙紝鍏繪垚涓涓壇濂界殑涔犳儻錛屽緩璁墍鏈夌殑灞傛閮借鍔犳嫭鍙楓?/span>
3.
瀹忕殑鍗曡瀹氫箟
#define A(x) T_##x
#define B
錛?/span>x錛?/span> #@x
#define C
錛?/span>x錛?/span> #x
鎴戜滑鍋囪錛?/span>x=1錛屽垯鏈夛細
A(1)------
錛?/span>T_1
B(1)------
錛?/span>'1'
C(1)------
錛?/span>"1"
4.define
鐨勫琛屽畾涔?/font>
define
鍙互鏇夸唬澶氳鐨勪唬鐮侊紝渚嬪MFC涓殑瀹忓畾涔夛紙闈炲父鐨勭粡鍏革紝铏界劧璁╀漢鐪嬩簡鎭跺績錛?/span>
#define MACRO(arg1, arg2) do { \
/* declarations */ \
stmt1; \
stmt2; \
/* ... */ \
} while(0) /* (no trailing ; ) */
鍏抽敭鏄鍦ㄦ瘡涓涓崲琛岀殑鏃跺欏姞涓婁竴涓?/span>"\"
鎽樻妱鑷?/span>http://www.blog.edu.cn/user1/16293/archives/2005/115370.shtml 淇ˉ浜嗗嚑涓?/span>bug
5.
鍦ㄥぇ瑙勬ā鐨勫紑鍙戣繃紼嬩腑錛岀壒鍒槸璺ㄥ鉤鍙板拰緋葷粺鐨勮蔣浠墮噷錛?/span>define鏈閲嶈鐨勫姛鑳芥槸鏉′歡緙栬瘧
灝辨槸錛?/span>
#ifdef WINDOWS
......
......
#endif
#ifdef LINUX
......
......
#endif

鍙互鍦ㄧ紪璇戠殑鏃跺欓氳繃#define璁劇疆緙栬瘧鐜

6.
濡備綍瀹氫箟瀹忋佸彇娑堝畯
//
瀹氫箟瀹?/span>
#define [MacroName] [MacroValue]
//
鍙栨秷瀹?/span>
#undef [MacroName]
鏅氬畯
#define PI (3.1415926)
甯﹀弬鏁扮殑瀹?/span>
#define max(a,b) ((a)>(b)? (a),(b))
鍏抽敭鏄崄鍒嗗鏄撲駭鐢熼敊璇紝鍖呮嫭鏈哄櫒鍜屼漢鐞嗚В涓婄殑宸紓絳夌瓑銆?/span>
7.
鏉′歡緙栬瘧
#ifdef XXX…(#else) …#endif
渚嬪 #ifdef DV22_AUX_INPUT
#define AUX_MODE 3
#else
#define AUY_MODE 3
錛?/span>endif
#ifndef XXX … (#else) … #endif

8.
澶存枃浠?/span>(.h)鍙互琚ご鏂囦歡鎴?/span>C鏂囦歡鍖呭惈
閲嶅鍖呭惈錛堥噸澶嶅畾涔夛級
鐢變簬澶存枃浠跺寘鍚彲浠ュ祵濂楋紝閭d箞C鏂囦歡灝辨湁鍙兘鍖呭惈澶氭鍚屼竴涓ご鏂囦歡錛屽氨鍙兘鍑虹幇閲嶅瀹氫箟鐨勯棶棰樼殑銆?/span>
閫氳繃鏉′歡緙栬瘧寮鍏蟲潵閬垮厤閲嶅鍖呭惈錛堥噸澶嶅畾涔夛級
渚嬪
#ifndef __headerfileXXX__
錛?/span>define __headerfileXXX__

鏂囦歡鍐呭

#endif
 
typedef鍜?define鐨勭敤娉曚笌鍖哄埆

 

涓銆乼ypedef鐨勭敤娉?/strong>

鍦–/C++璇█涓紝typedef甯哥敤鏉ュ畾涔変竴涓爣璇嗙鍙婂叧閿瓧鐨勫埆鍚嶏紝瀹冩槸璇█緙栬瘧榪囩▼鐨勪竴閮ㄥ垎錛屼絾瀹冨茍涓嶅疄闄呭垎閰嶅唴瀛樼┖闂達紝瀹炰緥鍍忥細

typedef    int       INT;
typedef    int       ARRAY[10];
typedef   (int*)    pINT;

typedef鍙互澧炲己紼嬪簭鐨勫彲璇繪э紝浠ュ強鏍囪瘑絎︾殑鐏墊椿鎬э紝浣嗗畠涔熸湁“闈炵洿瑙傛?#8221;絳夌己鐐廣?/p>

浜屻?define鐨勭敤娉?/strong>

#define涓轟竴瀹忓畾涔夎鍙ワ紝閫氬父鐢ㄥ畠鏉ュ畾涔夊父閲?鍖呮嫭鏃犲弬閲忎笌甯﹀弬閲?錛屼互鍙婄敤鏉ュ疄鐜伴偅浜?#8220;琛ㄩ潰浼煎拰鍠勩佽儗鍚庝竴闀夸覆”鐨勫畯錛屽畠鏈韓騫朵笉鍦ㄧ紪璇戣繃紼嬩腑榪涜錛岃屾槸鍦ㄨ繖涔嬪墠(棰勫鐞嗚繃紼?灝卞凡緇忓畬鎴愪簡錛屼絾涔熷洜姝ら毦浠ュ彂鐜版綔鍦ㄧ殑閿欒鍙婂叾瀹冧唬鐮佺淮鎶ら棶棰橈紝瀹冪殑瀹炰緥鍍忥細

#define   INT             int
#define   TRUE         1
#define   Add(a,b)     ((a)+(b));
#define   Loop_10    for (int i=0; i<10; i++)

鍦⊿cott Meyer鐨凟ffective C++涓涔︾殑鏉℃1涓湁鍏充簬#define璇彞寮婄鐨勫垎鏋愶紝浠ュ強濂界殑鏇夸唬鏂規硶錛屽ぇ瀹跺彲鍙傜湅銆?/p>

涓夈乼ypedef涓?define鐨勫尯鍒?/strong>

浠庝互涓婄殑姒傚康渚夸篃鑳藉熀鏈竻妤氾紝typedef鍙槸涓轟簡澧炲姞鍙鎬ц屼負鏍囪瘑絎﹀彟璧風殑鏂板悕縐?浠呬粎鍙槸涓埆鍚?錛岃?define鍘熸湰鍦–涓槸涓轟簡瀹氫箟甯擱噺錛屽埌浜咰++錛宑onst銆乪num銆乮nline鐨勫嚭鐜頒嬌瀹冧篃娓愭笎鎴愪負浜嗚搗鍒悕鐨勫伐鍏楓傛湁鏃跺緢瀹規槗鎼炰笉娓呮涓巘ypedef涓よ呭埌搴曡鐢ㄥ摢涓ソ錛屽#define INT int榪欐牱鐨勮鍙ワ紝鐢╰ypedef涓鏍峰彲浠ュ畬鎴愶紝鐢ㄥ摢涓ソ鍛紵鎴戜富寮犵敤typedef錛屽洜涓哄湪鏃╂湡鐨勮澶欳緙栬瘧鍣ㄤ腑榪欐潯璇彞鏄潪娉曠殑錛屽彧鏄幇浠婄殑緙栬瘧鍣ㄥ張鍋氫簡鎵╁厖銆備負浜嗗敖鍙兘鍦板吋瀹癸紝涓鑸兘閬靛驚#define瀹氫箟“鍙”鐨勫父閲忎互鍙婁竴浜涘畯璇彞鐨勪換鍔★紝鑰宼ypedef鍒欏父鐢ㄦ潵瀹氫箟鍏抽敭瀛椼佸啑闀跨殑綾誨瀷鐨勫埆鍚嶃?/p>

瀹忓畾涔夊彧鏄畝鍗曠殑瀛楃涓蹭唬鎹?鍘熷湴鎵╁睍)錛岃宼ypedef鍒欎笉鏄師鍦版墿灞曪紝瀹冪殑鏂板悕瀛楀叿鏈変竴瀹氱殑灝佽鎬э紝浠ヨ嚧浜庢柊鍛藉悕鐨勬爣璇嗙鍏鋒湁鏇存槗瀹氫箟鍙橀噺鐨勫姛鑳姐傝鐪嬩笂闈㈢涓澶х偣浠g爜鐨勭涓夎錛?/p>

typedef    (int*)      pINT;
浠ュ強涓嬮潰榪欒:
#define    pINT2    int*

鏁堟灉鐩稿悓錛熷疄鍒欎笉鍚岋紒瀹炶返涓宸埆錛歱INT a,b;鐨勬晥鏋滃悓int *a; int *b;琛ㄧず瀹氫箟浜嗕袱涓暣鍨嬫寚閽堝彉閲忋傝宲INT2 a,b;鐨勬晥鏋滃悓int *a, b;

琛ㄧず瀹氫箟浜嗕竴涓暣鍨嬫寚閽堝彉閲廰鍜屾暣鍨嬪彉閲廱銆?/p>

娉ㄦ剰錛氫袱鑰呰繕鏈変竴涓灝?鍙風殑鍖哄埆鍝︼紒



T.S Liu 2007-12-16 14:10 鍙戣〃璇勮
]]>
鏄庢櫚C++鍐呭瓨鍒嗛厤鐨勪簲縐嶆柟娉曠殑鍖哄埆(杞級http://m.shnenglu.com/liu1061/articles/38610.htmlT.S LiuT.S LiuSun, 16 Dec 2007 05:44:00 GMThttp://m.shnenglu.com/liu1061/articles/38610.htmlhttp://m.shnenglu.com/liu1061/comments/38610.htmlhttp://m.shnenglu.com/liu1061/articles/38610.html#Feedback0http://m.shnenglu.com/liu1061/comments/commentRss/38610.htmlhttp://m.shnenglu.com/liu1061/services/trackbacks/38610.html鍦–++涓紝鍐呭瓨鍒嗘垚5涓尯錛屼粬浠垎鍒槸鍫嗐佹爤銆佽嚜鐢卞瓨鍌ㄥ尯銆佸叏灞/闈欐佸瓨鍌ㄥ尯鍜屽父閲忓瓨鍌ㄥ尯銆?/font> 
       

         Origin:http://www.zhmy.com/blog2006004/goto723/archives/2006/29705.shtml


銆銆鏍?/font>錛屽氨鏄偅浜涚敱緙栬瘧鍣ㄥ湪闇瑕佺殑鏃跺欏垎閰嶏紝鍦ㄤ笉闇瑕佺殑鏃跺欒嚜鍔ㄦ竻闄ょ殑鍙橀噺鐨勫瓨鍌ㄥ尯銆傞噷闈㈢殑鍙橀噺閫氬父鏄眬閮ㄥ彉閲忋佸嚱鏁板弬鏁扮瓑銆?

銆銆鍫?/font>錛屽氨鏄偅浜涚敱new鍒嗛厤鐨勫唴瀛樺潡錛屽畠浠殑閲婃斁緙栬瘧鍣ㄤ笉綆★紝鑰屾槸鐢辯▼搴忓憳鑷繁鍘繪帶鍒訛紝涓鑸竴涓猲ew灝辮瀵瑰簲涓涓猟elete銆傚鏋滅▼搴忓憳娌℃湁閲婃斁鎺夛紝閭d箞鍦ㄧ▼搴忕粨鏉熷悗錛屾搷浣滅郴緇熶細鑷姩鍥炴敹銆?

銆銆鑷敱瀛樺偍鍖?/font>錛屽氨鏄偅浜涚敱malloc絳夊垎閰嶇殑鍐呭瓨鍧楋紝瀹冨拰鍫嗘槸鍗佸垎鐩鎬技鐨勶紝涓嶈繃瀹冩槸鐢╢ree鏉ョ粨鏉熻嚜宸辯殑鐢熷懡鐨勩?

銆銆鍏ㄥ眬/闈欐佸瓨鍌ㄥ尯錛屽叏灞鍙橀噺鍜岄潤鎬佸彉閲忚鍒嗛厤鍒板悓涓鍧楀唴瀛樹腑錛屽湪浠ュ墠鐨凜璇█涓紝鍏ㄥ眬鍙橀噺鍙堝垎涓哄垵濮嬪寲鐨勫拰鏈垵濮嬪寲鐨勶紝鍦–++閲岄潰娌℃湁榪欎釜鍖哄垎浜嗭紝浠栦滑鍏卞悓鍗犵敤鍚屼竴鍧楀唴瀛樺尯銆?

銆銆甯擱噺瀛樺偍鍖?/strong>錛岃繖鏄竴鍧楁瘮杈冪壒孌婄殑瀛樺偍鍖猴紝瀹冧滑閲岄潰瀛樻斁鐨勬槸甯擱噺錛屼笉鍏佽淇敼錛堝綋鐒訛紝浣犺閫氳繃闈炴褰撴墜孌典篃鍙互淇敼錛岃屼笖鏂規硶寰堝錛屽湪銆奵onst鐨勬濊冦嬩竴鏂囦腑錛屾垜緇欏嚭浜?縐嶆柟娉曪級

鏄庣‘鍖哄垎鍫嗕笌鏍?/font>

銆銆鍦╞bs涓婏紝鍫嗕笌鏍堢殑鍖哄垎闂錛屼技涔庢槸涓涓案鎭掔殑璇濋錛岀敱姝ゅ彲瑙侊紝鍒濆鑰呭姝ゅ線寰鏄販娣嗕笉娓呯殑錛屾墍浠ユ垜鍐沖畾鎷垮畠絎竴涓紑鍒銆?

銆銆棣栧厛錛屾垜浠婦涓涓緥瀛愶細

void f() {

int* p=new int[5];

}

銆銆榪欐潯鐭煭鐨勪竴鍙ヨ瘽灝卞寘鍚簡鍫嗕笌鏍堬紝鐪嬪埌new錛屾垜浠鍏堝氨搴旇鎯沖埌錛屾垜浠垎閰嶄簡涓鍧楀爢鍐呭瓨錛岄偅涔堟寚閽坧鍛紵瀹冨垎閰嶇殑鏄竴鍧楁爤鍐呭瓨錛屾墍浠ヨ繖鍙ヨ瘽鐨勬剰鎬濆氨鏄細鍦ㄦ爤鍐呭瓨涓瓨鏀句簡涓涓寚鍚戜竴鍧楀爢鍐呭瓨鐨勬寚閽坧銆?/span>

        鍦ㄧ▼搴忎細鍏堢‘瀹氬湪鍫嗕腑鍒嗛厤鍐呭瓨鐨勫ぇ灝忥紝鐒跺悗璋冪敤operator new鍒嗛厤鍐呭瓨錛岀劧鍚庤繑鍥炶繖鍧楀唴瀛樼殑棣栧湴鍧錛屾斁鍏ユ爤涓紝浠栧湪VC6涓嬬殑姹囩紪浠g爜濡備笅錛?

00401028 push 14h
0040102A call operator new (00401060)
0040102F add esp,4
00401032 mov dword ptr [ebp-8],eax
00401035 mov eax,dword ptr [ebp-8]
00401038 mov dword ptr [ebp-4],eax


銆銆榪欓噷錛屾垜浠負浜嗙畝鍗曞茍娌℃湁閲婃斁鍐呭瓨錛岄偅涔堣鎬庝箞鍘婚噴鏀懼憿錛熸槸delete p涔堬紵閿欎簡錛屽簲璇ユ槸delete []p錛岃繖鏄負浜嗗憡璇夌紪璇戝櫒錛氭垜鍒犻櫎鐨勬槸涓涓暟緇勶紝VC6灝變細鏍規嵁鐩稿簲鐨凜ookie淇℃伅鍘昏繘琛岄噴鏀懼唴瀛樼殑宸ヤ綔銆?

銆銆濂戒簡錛屾垜浠洖鍒版垜浠殑涓婚錛氬爢鍜屾爤絀剁珶鏈変粈涔堝尯鍒紵

銆銆涓昏鐨勫尯鍒敱浠ヤ笅鍑犵偣錛?

銆銆1銆佺鐞嗘柟寮忎笉鍚岋紱

銆銆2銆佺┖闂村ぇ灝忎笉鍚岋紱

銆銆3銆佽兘鍚︿駭鐢熺鐗囦笉鍚岋紱

銆銆4銆佺敓闀挎柟鍚戜笉鍚岋紱

銆銆5銆佸垎閰嶆柟寮忎笉鍚岋紱

銆銆6銆佸垎閰嶆晥鐜囦笉鍚岋紱

銆銆綆$悊鏂瑰紡錛氬浜庢爤鏉ヨ錛屾槸鐢辯紪璇戝櫒鑷姩綆$悊錛屾棤闇鎴戜滑鎵嬪伐鎺у埗錛涘浜庡爢鏉ヨ錛岄噴鏀懼伐浣滅敱紼嬪簭鍛樻帶鍒訛紝瀹規槗浜х敓memory leak銆?

銆銆絀洪棿澶у皬錛氫竴鑸潵璁插湪32浣嶇郴緇熶笅錛屽爢鍐呭瓨鍙互杈懼埌4G鐨勭┖闂達紝浠庤繖涓搴︽潵鐪嬪爢鍐呭瓨鍑犱箮鏄病鏈変粈涔堥檺鍒剁殑銆備絾鏄浜庢爤鏉ヨ錛屼竴鑸兘鏄湁涓瀹氱殑絀洪棿澶у皬鐨勶紝渚嬪錛屽湪VC6涓嬮潰錛岄粯璁ょ殑鏍堢┖闂村ぇ灝忔槸1M錛堝ソ鍍忔槸錛岃涓嶆竻妤氫簡錛夈傚綋鐒訛紝鎴戜滑鍙互淇敼錛?

銆銆鎵撳紑宸ョ▼錛屼緷嬈℃搷浣滆彍鍗曞涓嬶細Project->Setting->Link錛屽湪Category 涓変腑Output錛岀劧鍚庡湪Reserve涓瀹氬爢鏍堢殑鏈澶у煎拰commit銆?

銆銆娉ㄦ剰錛歊eserve鏈灝忓間負4Byte錛沜ommit鏄繚鐣欏湪铏氭嫙鍐呭瓨鐨勯〉鏂囦歡閲岄潰錛屽畠璁劇疆鐨勮緝澶т細浣挎爤寮杈熻緝澶х殑鍊鹼紝鍙兘澧炲姞鍐呭瓨鐨勫紑閿鍜屽惎鍔ㄦ椂闂淬?

銆銆紕庣墖闂錛氬浜庡爢鏉ヨ錛岄綣佺殑new/delete鍔垮繀浼氶犳垚鍐呭瓨絀洪棿鐨勪笉榪炵畫錛屼粠鑰岄犳垚澶ч噺鐨勭鐗囷紝浣跨▼搴忔晥鐜囬檷浣庛傚浜庢爤鏉ヨ錛屽垯涓嶄細瀛樺湪榪欎釜闂錛屽洜涓烘爤鏄厛榪涘悗鍑虹殑闃熷垪錛屼粬浠槸濡傛鐨勪竴涓瀵瑰簲錛屼互鑷充簬姘歌繙閮戒笉鍙兘鏈変竴涓唴瀛樺潡浠庢爤涓棿寮瑰嚭錛屽湪瀹冨脊鍑轟箣鍓嶏紝鍦ㄥ畠涓婇潰鐨勫悗榪涚殑鏍堝唴瀹瑰凡緇忚寮瑰嚭錛岃緇嗙殑鍙互鍙傝冩暟鎹粨鏋勶紝榪欓噷鎴戜滑灝變笉鍐嶄竴涓璁ㄨ浜嗐?

銆銆鐢熼暱鏂瑰悜錛?font style="BACKGROUND-COLOR: #33cccc">瀵逛簬鍫嗘潵璁詫紝鐢熼暱鏂瑰悜鏄悜涓婄殑錛屼篃灝辨槸鍚戠潃鍐呭瓨鍦板潃澧炲姞鐨勬柟鍚戯紱瀵逛簬鏍堟潵璁詫紝瀹冪殑鐢熼暱鏂瑰悜鏄悜涓嬬殑錛屾槸鍚戠潃鍐呭瓨鍦板潃鍑忓皬鐨勬柟鍚戝闀褲?/font>

銆銆鍒嗛厤鏂瑰紡錛氬爢閮芥槸鍔ㄦ佸垎閰嶇殑錛屾病鏈夐潤鎬佸垎閰嶇殑鍫嗐傛爤鏈?縐嶅垎閰嶆柟寮忥細闈欐佸垎閰嶅拰鍔ㄦ佸垎閰嶃傞潤鎬佸垎閰嶆槸緙栬瘧鍣ㄥ畬鎴愮殑錛屾瘮濡傚眬閮ㄥ彉閲忕殑鍒嗛厤銆傚姩鎬佸垎閰嶇敱alloca鍑芥暟榪涜鍒嗛厤錛屼絾鏄爤鐨勫姩鎬佸垎閰嶅拰鍫嗘槸涓嶅悓鐨勶紝瀹冪殑鍔ㄦ佸垎閰嶆槸鐢辯紪璇戝櫒榪涜閲婃斁錛屼笉闇瑕佹垜浠墜宸ュ疄鐜般?

銆銆鍒嗛厤鏁堢巼錛氭爤鏄満鍣ㄧ郴緇熸彁渚涚殑鏁版嵁緇撴瀯錛岃綆楁満浼氬湪搴曞眰瀵規爤鎻愪緵鏀寔錛氬垎閰嶄笓闂ㄧ殑瀵勫瓨鍣ㄥ瓨鏀炬爤鐨勫湴鍧錛屽帇鏍堝嚭鏍堥兘鏈変笓闂ㄧ殑鎸囦護鎵ц錛岃繖灝卞喅瀹氫簡鏍堢殑鏁堢巼姣旇緝楂?鎴戠殑娉ㄩ噴:鍏充簬EBP瀵勫瓨鍣ㄨ鍙傝冨彟涓綃囨枃绔?/font>)銆?/span>

        鍫嗗垯鏄疌/C++鍑芥暟搴撴彁渚涚殑錛屽畠鐨勬満鍒舵槸寰堝鏉傜殑錛屼緥濡備負浜嗗垎閰嶄竴鍧楀唴瀛橈紝搴撳嚱鏁頒細鎸夌収涓瀹氱殑綆楁硶錛堝叿浣撶殑綆楁硶鍙互鍙傝冩暟鎹粨鏋?鎿嶄綔緋葷粺錛夊湪鍫嗗唴瀛樹腑鎼滅儲鍙敤鐨勮凍澶熷ぇ灝忕殑絀洪棿錛屽鏋滄病鏈夎凍澶熷ぇ灝忕殑絀洪棿錛堝彲鑳芥槸鐢變簬鍐呭瓨紕庣墖澶錛夛紝灝辨湁鍙兘璋冪敤緋葷粺鍔熻兘鍘誨鍔犵▼搴忔暟鎹鐨勫唴瀛樼┖闂達紝榪欐牱灝辨湁鏈轟細鍒嗗埌瓚沖澶у皬鐨勫唴瀛橈紝鐒跺悗榪涜榪斿洖銆傛樉鐒訛紝鍫嗙殑鏁堢巼姣旀爤瑕佷綆寰楀銆?br>
銆銆浠庤繖閲屾垜浠彲浠ョ湅鍒幫紝鍫嗗拰鏍堢浉姣旓紝鐢變簬澶ч噺new/delete鐨勪嬌鐢紝瀹規槗閫犳垚澶ч噺鐨勫唴瀛樼鐗囷紱鐢變簬娌℃湁涓撻棬鐨勭郴緇熸敮鎸侊紝鏁堢巼寰堜綆錛涚敱浜庡彲鑳藉紩鍙戠敤鎴鋒佸拰鏍稿績鎬佺殑鍒囨崲錛屽唴瀛樼殑鐢寵錛屼唬浠峰彉寰楁洿鍔犳槀璐點傛墍浠ユ爤鍦ㄧ▼搴忎腑鏄簲鐢ㄦ渶騫挎硾鐨勶紝灝辯畻鏄嚱鏁扮殑璋冪敤涔熷埄鐢ㄦ爤鍘誨畬鎴愶紝鍑芥暟璋冪敤榪囩▼涓殑鍙傛暟錛岃繑鍥炲湴鍧錛孍BP鍜屽眬閮ㄥ彉閲忛兘閲囩敤鏍堢殑鏂瑰紡瀛樻斁銆傛墍浠ワ紝鎴戜滑鎺ㄨ崘澶у灝介噺鐢ㄦ爤錛岃屼笉鏄敤鍫嗐?

銆銆铏界劧鏍堟湁濡傛浼楀鐨勫ソ澶勶紝浣嗘槸鐢變簬鍜屽爢鐩告瘮涓嶆槸閭d箞鐏墊椿錛屾湁鏃跺欏垎閰嶅ぇ閲忕殑鍐呭瓨絀洪棿錛岃繕鏄敤鍫嗗ソ涓浜涖?

銆銆鏃犺鏄爢榪樻槸鏍堬紝閮借闃叉瓚婄晫鐜拌薄鐨勫彂鐢燂紙闄ら潪浣犳槸鏁呮剰浣垮叾瓚婄晫錛夛紝鍥犱負瓚婄晫鐨勭粨鏋滆涔堟槸紼嬪簭宕╂簝錛岃涔堟槸鎽ф瘉紼嬪簭鐨勫爢銆佹爤緇撴瀯錛屼駭鐢熸剰鎯充笉鍒扮殑緇撴灉,灝辯畻鏄湪浣犵殑紼嬪簭榪愯榪囩▼涓紝娌℃湁鍙戠敓涓婇潰鐨勯棶棰橈紝浣犺繕鏄灝忓績錛岃涓嶅畾浠涔堟椂鍊欏氨宕╂帀錛岄偅鏃跺檇ebug鍙槸鐩稿綋鍥伴毦鐨勶細錛?nbsp;



T.S Liu 2007-12-16 13:44 鍙戣〃璇勮
]]>
瀛楃鏁扮粍VS瀛楃鎸囬拡http://m.shnenglu.com/liu1061/articles/38608.htmlT.S LiuT.S LiuSun, 16 Dec 2007 05:29:00 GMThttp://m.shnenglu.com/liu1061/articles/38608.htmlhttp://m.shnenglu.com/liu1061/comments/38608.htmlhttp://m.shnenglu.com/liu1061/articles/38608.html#Feedback0http://m.shnenglu.com/liu1061/comments/commentRss/38608.htmlhttp://m.shnenglu.com/liu1061/services/trackbacks/38608.html1.浠ュ瓧絎︿覆褰㈠紡鍑虹幇鐨勶紝緙栬瘧鍣ㄩ兘浼氫負璇ュ瓧絎︿覆鑷姩娣誨姞涓涓?/span>0浣滀負緇撴潫絎︼紝濡傚湪浠g爜涓啓"abc",閭d箞緙栬瘧鍣ㄥ府浣犲瓨鍌ㄧ殑鏄?/span>"abc\0"

2."abc"
鏄父閲忓悧錛熺瓟妗堟槸鏈夋椂鏄紝鏈夋椂涓嶆槸銆?br>涓嶆槸甯擱噺鐨勬儏鍐?/span>錛?br>  "abc"浣滀負瀛楃鏁扮粍鍒濆鍊肩殑鏃跺欏氨涓嶆槸錛屽char str[] = "abc";鍥犱負瀹氫箟鐨勬槸涓涓瓧絎︽暟緇勶紝鎵浠ュ氨鐩稿綋浜庡畾涔変簡涓浜涚┖闂存潵瀛樻斁"abc"錛岃屽張鍥犱負瀛楃鏁扮粍灝辨槸鎶婂瓧絎︿竴涓竴涓湴瀛樻斁鐨勶紝鎵浠ョ紪璇戝櫒鎶婅繖涓鍙ヨВ鏋愪負char str[3] = {'a','b','c'};鍙堟牴鎹笂闈㈢殑鎬葷粨1錛屾墍浠?/span>char str[] = "abc";鐨勬渶緇堢粨鏋滄槸char str[4] = {'a','b','c','\0'};鍋氫竴涓嬫墿灞曪紝濡傛灉char str[] = "abc";鏄湪鍑芥暟鍐呴儴鍐欑殑璇濓紝閭d箞榪欓噷鐨?/span>"abc\0"鍥犱負涓嶆槸甯擱噺錛屾墍浠ュ簲璇ヨ鏀懼湪鏍堜笂銆?br>鏄父閲忕殑鎯呭喌
  鎶?/span>"abc"璧嬬粰涓涓瓧絎︽寚閽堝彉閲忔椂錛屽char* ptr = "abc";鍥犱負瀹氫箟鐨勬槸涓涓櫘閫氭寚閽堬紝騫舵病鏈夊畾涔夌┖闂存潵瀛樻斁"abc"錛屾墍浠ョ紪璇戝櫒寰楀府鎴戜滑鎵懼湴鏂規潵鏀?/span>"abc"錛屾樉鐒訛紝鎶婅繖閲岀殑"abc"褰撴垚甯擱噺騫舵妸瀹冩斁鍒扮▼搴忕殑甯擱噺鍖烘槸緙栬瘧鍣ㄦ渶鍚堥傜殑閫夋嫨銆傛墍浠ュ敖綆?/span>ptr鐨勭被鍨嬩笉鏄?/span>const char*錛屽茍涓?/span>ptr[0] = 'x';涔熻兘緙栬瘧閫氳繃錛屼絾鏄墽琛?/span>ptr[0] = 'x';灝變細鍙戠敓榪愯鏃跺紓甯革紝鍥犱負榪欎釜璇彞璇曞浘鍘諱慨鏀圭▼搴忓父閲忓尯涓殑涓滆タ銆傝寰楀摢鏈功涓浘緇忚榪?/span>char* ptr = "abc";榪欑鍐欐硶鍘熸潵鍦?/span>c++鏍囧噯涓槸涓嶅厑璁哥殑錛屼絾鏄洜涓鴻繖縐嶅啓娉曞湪c涓疄鍦ㄦ槸澶浜嗭紝涓轟簡鍏煎c錛屼笉鍏佽涔熷緱鍏佽銆傝櫧鐒跺厑璁革紝浣嗘槸寤鴻鐨勫啓娉曞簲璇ユ槸const char* ptr = "abc";榪欐牱濡傛灉鍚庨潰鍐?/span>ptr[0] = 'x'鐨勮瘽緙栬瘧鍣ㄥ氨涓嶄細璁╁畠緙栬瘧閫氳繃錛屼篃灝遍伩鍏嶄簡涓婇潰璇寸殑榪愯鏃跺紓甯搞傚張鎵╁睍涓涓嬶紝濡傛灉char* ptr = "abc";鍐欏湪鍑芥暟浣撳唴錛岄偅涔堣櫧鐒惰繖閲岀殑"abc\0"琚斁鍦ㄥ父閲忓尯涓紝浣嗘槸ptr鏈韓鍙槸涓涓櫘閫氱殑鎸囬拡鍙橀噺錛屾墍浠?/span>ptr鏄鏀懼湪鏍堜笂鐨?/span>,鍙笉榪囨槸瀹冩墍鎸囧悜鐨勪笢瑗胯鏀懼湪甯擱噺鍖虹艦浜嗐?br>
3.
鏁扮粍鐨勭被鍨嬫槸鐢辮鏁扮粍鎵瀛樻斁鐨勪笢瑗跨殑綾誨瀷浠ュ強鏁扮粍鏈韓鐨勫ぇ灝忓喅瀹氱殑銆?br>  濡?/span>char s1[3]鍜?/span>char s2[4]錛?/span>s1鐨勭被鍨嬪氨鏄?/span>char[3]錛?/span>s2鐨勭被鍨嬪氨鏄?/span>char[4],涔熷氨鏄灝界s1鍜?/span>s2閮芥槸瀛楃鏁扮粍錛屼絾涓よ呯殑綾誨瀷鍗存槸涓嶅悓鐨勩?br>
4
.瀛楃涓插父閲忕殑綾誨瀷鍙互鐞嗚В涓虹浉搴斿瓧絎﹀父閲忔暟緇勭殑綾誨瀷錛屽"abcdef"鐨勭被鍨嬪氨鍙互鐪嬫垚鏄?/span>const char[7]

5
.sizeof鏄敤鏉ユ眰綾誨瀷鐨勫瓧鑺傛暟鐨勩傚int a;閭d箞鏃犺sizeof(int)鎴栬呮槸sizeof(a)閮芥槸絳変簬4錛屽洜涓?/span>sizeof(a)鍏跺疄灝辨槸sizeof(type of a)

6
.瀵逛簬鍑芥暟鍙傛暟鍒楄〃涓殑浠ユ暟緇勭被鍨嬩功鍐欑殑褰㈠紡鍙傛暟錛岀紪璇戝櫒鎶婂叾瑙i噴涓烘櫘閫氱殑鎸囬拡綾誨瀷錛屽瀵逛簬void func(char sa[100],int ia[20],char *p)鍒?/span>sa鐨勭被鍨嬩負char*錛?/span>ia鐨勭被鍨嬩負int*錛?/span>p鐨勭被鍨嬩負char*
杞嚜crazy wind`s blogs

T.S Liu 2007-12-16 13:29 鍙戣〃璇勮
]]>
鏂囦歡鎿嶄綔灝忕粨http://m.shnenglu.com/liu1061/articles/38446.htmlT.S LiuT.S LiuThu, 13 Dec 2007 09:37:00 GMThttp://m.shnenglu.com/liu1061/articles/38446.htmlhttp://m.shnenglu.com/liu1061/comments/38446.htmlhttp://m.shnenglu.com/liu1061/articles/38446.html#Feedback0http://m.shnenglu.com/liu1061/comments/commentRss/38446.htmlhttp://m.shnenglu.com/liu1061/services/trackbacks/38446.html鏂囦歡鎿嶄綔鎬繪槸鐢ㄧ殑涓嶆槸寰堝ソ,浠婂ぉ鎬葷粨涓涓嬪畠鍙敤鐨勫嚱鏁?

FILE *fp = NULL;

FILE * fopen(char *filename, char *openmode)                                 鎵撳紑鏂囦歡

int fclose(FILE * fp)                                                                         鍏抽棴鏂囦歡

int fseek(FILE *fp, long offset,  int base)                                           鏂囦歡瀹氫綅

void rewind(FILE *fp)                                                                      鏂囦歡鎸囬拡鍥炲埌鏂囦歡澶?/p>

long ftell(FILE *fp)                                                                           榪斿洖fp鎵鎸囨枃浠惰鍐欎綅緗?/p>

int fgetc(FILE *fp)                                                                            浠巉p鎵鎸囨枃浠惰1涓猚har

char * fgets(char *buffer, int n, FILE *fp)                                          浠巉p鎵鎸囨枃浠惰n涓猚har

int fputc(char ch, FILE *fp)                                                               鍚慺p鎵鎸囨枃浠跺啓1涓猚har

int fputs(char * str, FILE *fp)                                                            鍚慺p鎵鎸囨枃浠跺啓n涓猚har

int fread(char *buffer, int size, int n, FILE *fp)                                   浠巉p鎵鎸囨枃浠惰n涓猻ize鍒癰uffer

int fwrite(char *str,  int  size , int n, FILE *fp)                                     鎶妔tr鎸囧悜鐨刵*size char鍐欏埌鏂囦歡

int fscanf(FILE *fp, char *format, args......)                                       浠巉p鎵鎸囨枃浠舵寜format鏍煎紡灝嗘暟鎹鍒癮rgs鎵鎸囩殑鍐呭瓨鍗曞厓鍐?

int fprintf(FILE *fp, char *format, args......)                                       鎶奱rgs鐨勫兼寜format鎵鎸囩殑鏍煎紡鍐欏埌fp鎵鎸囩殑鏂囦歡涓?/p>

int feof(FILE *fp)                                                                             媯鏌ユ枃浠舵槸鍚︾粨鏉? 緇撴潫灝卞弽鍥為潪0鍊?/p>

int ferror(FILE *fp)                                                                           媯鏌ユ枃浠舵槸鍚﹀嚭閿?娌℃湁鍑洪敊鏃跺弽鍥?

void clearerr(FILE *fp)                                                                      浣縡p鎵鎸囩殑鏂囦歡鐨勯敊璇?鏍囧織鍜屾枃浠剁粨鏉熺瓑緗?br>



T.S Liu 2007-12-13 17:37 鍙戣〃璇勮
]]>
C璇█鏂囦歡鎿嶄綔鍑芥暟 杞?/title><link>http://m.shnenglu.com/liu1061/articles/38441.html</link><dc:creator>T.S Liu</dc:creator><author>T.S Liu</author><pubDate>Thu, 13 Dec 2007 09:09:00 GMT</pubDate><guid>http://m.shnenglu.com/liu1061/articles/38441.html</guid><wfw:comment>http://m.shnenglu.com/liu1061/comments/38441.html</wfw:comment><comments>http://m.shnenglu.com/liu1061/articles/38441.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/liu1061/comments/commentRss/38441.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/liu1061/services/trackbacks/38441.html</trackback:ping><description><![CDATA[<p><font color=#ff0000>鏂囩珷鍒嗙被"c/c++"閲屾湁錛屼絾鍙湁鍩烘湰璇存槑錛屾曚互鍚庨仐蹇樸傜湅榪欑瘒鐩稿璇︾粏鐐瑰氨鐣欎笅鍋氫釜澶囧繕錛?br></font></p> <h2>C璇█鏂囦歡鎿嶄綔鍑芥暟 <a >http://www.cnblogs.com/nniixl/archive/2007/04/23/724235.aspx</a></h2> <p><input id=search-key type=hidden value=C璇█鏂囦歡鎿嶄綔鍑芥暟 name=search-key> </p> <div id="hvzpftn" class="rl entry-titlerl fenlei-Span">鍒嗙被:<a ><font color=#000000>C/C </font></a></div> <div id="hvzpftn" class="entry-body nerr"><strong>13.1C璇█鏂囦歡<br></strong>1,涓ょ鏂囦歡瀛樺彇鏂瑰紡(杈撳叆,杈撳嚭鏂瑰紡)<br>欏哄簭瀛樺彇<br>鐩存帴瀛樺彇<br>2,鏁版嵁鐨勪袱縐嶅瓨鏀懼艦寮?br>鏂囨湰鏂囦歡<br>浜岃繘鍒舵枃浠? <div> </div> <div> </div> <div><strong>13.2鏂囦歡鎸囬拡</strong><br>瀹氫箟鏂囦歡綾誨瀷鎸囬拡鍙橀噺鐨勪竴鑸艦寮?<br>FILE *鎸囬拡鍙橀噺鍚?<br>渚嬪:<br>FILE *<a name=1></a><strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>1,*<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>2;</div> <div> </div> <div> </div> <div><strong>13.3鎵撳紑鏂囦歡</strong><br>鍦ㄤ嬌鐢ㄦ枃浠朵箣鍓?闇鎵撳紑鏂囦歡.鍦–閲屼嬌鐢╢open鍑芥暟鎵撳紑鏂囦歡.鏍煎紡涓?<br>fopen(鏂囦歡鍚?鏂囦歡浣跨敤鏂瑰紡);<br>姝ゅ嚱鏁拌繑鍥炰竴涓寚鍚慒ILE綾誨瀷鐨勬寚閽?濡?<br>FILE *<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>;<br><strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>=fopen("file_1","r");<br>濡傛灉璋冪敤鎴愬姛,<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>灝辨寚鍚慺ile_1,鍚﹀垯榪斿洖涓篘ULL,鎵浠ヤ負浜嗕繚璇佹枃浠剁殑姝g‘浣跨敤,瑕佽繘琛屾祴璇?閲囩敤濡備笅璇彞:<br>If((<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>=fopen("file_1","r"))==NULL)<br>{<br>printf("Cannot open this file\n");<br>exit(0);<br>}<br>鏈甯哥敤鐨勬枃浠朵嬌鐢ㄦ柟寮忓強鍏跺惈涔夊涓?<br>1,"r".涓鴻鑰屾墦寮鏂囨湰鏂囦歡.(涓嶅瓨鍦ㄥ垯鍑洪敊)<br>2,"rb".涓鴻鑰屾墦寮浜岃繘鍒舵枃浠?<br>3,"w".涓哄啓鑰屾墦寮鏂囨湰鏂囦歡.(鑻ヤ笉瀛樺湪鍒欐柊寤?鍙嶄箣,鍒欎粠鏂囦歡璧峰浣嶇疆鍐?鍘熷唴瀹瑰皢琚鐩?<br>4,"wb".涓哄啓鑰屾墦寮浜岃繘鍒舵枃浠?<br>5,"a".涓哄湪鏂囦歡鍚庨潰娣誨姞鏁版嵁鑰屾墦寮鏂囨湰鏂囦歡.(鑻ヤ笉瀛樺湪,鍒欐柊寤?鍙嶄箣,鍦ㄥ師鏂囦歡鍚庤拷鍔?<br>6,"ab".涓哄湪鏂囦歡鍚庨潰娣誨姞鏁版嵁鑰屾墦寮涓涓簩榪涘埗鏂囦歡.<br>鏈甯哥敤鐨勬枃浠朵嬌鐢ㄦ柟寮忓強鍏跺惈涔夊涓?<br>7,"r+".涓鴻鍜屽啓鑰屾墦寮鏂囨湰鏂囦歡.(璇繪椂,浠庡ご寮濮?鍦ㄥ啓鏁版嵁鏃?鏂版暟鎹彧瑕嗙洊鎵鍗犵殑絀洪棿,鍏跺悗涓嶅彉)<br>8,"rb+".涓鴻鍜屽啓鑰屾墦寮浜岃繘鍒舵枃浠?鍙槸鍦ㄩ殢鍚庣殑璇誨啓鏃?鍙互鐢變綅緗嚱鏁拌緗鍜屽啓鐨勮搗濮嬩綅緗?<br>9,"w+".棣栧厛寤虹珛涓涓柊鏂囦歡,榪涜鍐欐搷浣?闅忓悗鍙互浠庡ご寮濮嬭.(鑻ユ枃浠跺瓨鍦?鍘熷唴瀹瑰皢鍏ㄩ儴娑堝け)<br>10,"wb+".鍔熻兘涓?w+"鍚?鍙槸鍦ㄩ殢鍚庣殑璇誨啓鏃?鍙互鐢變綅緗嚱鏁拌緗鍜屽啓鐨勮搗濮嬩綅緗?<br>鏈甯哥敤鐨勬枃浠朵嬌鐢ㄦ柟寮忓強鍏跺惈涔夊涓?<br>11,"a+".鍔熻兘涓?a"鐩稿悓;鍙槸鍦ㄦ枃浠跺熬閮ㄦ坊鍔犳柊鐨勬暟鎹悗,鍙互浠庡ご寮濮嬭.<br>12,"ab+".鍔熻兘涓?a+"鐩稿悓;鍙槸鍦ㄦ枃浠跺熬閮ㄦ坊鍔犳柊鏁版嵁涔嬪悗,鍙互鐢變綅緗嚱鏁拌緗紑濮嬭鐨勮搗濮嬩綅緗?</div> <div> </div> <div> </div> <div><strong>13.4鍏抽棴鏂囦歡</strong></div> <div>褰撴枃浠剁殑璇誨啓鎿嶄綔瀹屾垚涔嬪悗,浣跨敤fclose鍑芥暟鍏抽棴鏂囦歡.鏍煎紡濡備笅:<br>fclose(鏂囦歡鎸囬拡)<br>濡?fclose(<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>);</div> <div> </div> <div><br><strong>13.5璋冪敤getc(fgetc)鍜宲utc(fputc)鍑芥暟榪涜杈撳叆鍜岃緭鍑?/strong><br>1,璋冪敤putc(鎴杅putc)鍑芥暟杈撳嚭涓涓瓧絎?br>璋冪敤褰㈠紡涓?<br>putc(ch,<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>);<br>鍔熻兘鏄?灝嗗瓧絎h鍐欏埌鏂囦歡鎸囬拡<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>鎵鎸囩殑鏂囦歡涓幓.褰撹緭鍑烘垚鍔?putc鍑芥暟榪斿洖鎵杈撳嚭鐨勫瓧絎?鍚﹀垯,榪斿洖涓涓狤OF鍊?EOF鏄湪stdio.h搴撳嚱鏁版枃浠朵腑瀹氫箟鐨勭鍙峰父閲?鍏跺肩瓑浜?1.</div> <div> </div> <div> </div> <div><strong>13.5璋冪敤getc(fgetc)鍜宲utc(fputc)鍑芥暟榪涜杈撳叆鍜岃緭鍑?/strong><br>渚嬪:鎶婁粠閿洏杈撳叆鐨勬枃鏈寜鍘熸牱杈撳嚭鍒板悕涓篺ile_1.dat鏂囦歡涓?鐢ㄥ瓧絎浣滀負閿洏杈撳叆緇撴潫鏍囧織.<br>#include<br>Void main()<br>{<br>FILE *fpout;<br>char ch;<br>if(fpout=fpopen("file_1","w")==NULL)<br>{<br>printf("Cannot open this file!\n");<br>exit(0);<br>}<br>ch=getchar();<br>while(ch!='@')<br>{ fputc(ch,fpout); ch=getchar(); }<br>fclose(fpout);<br>}<br>2.璋冪敤getc(鎴杅getc)鍑芥暟杈撳叆涓涓瓧絎?br>璋冪敤褰㈠紡涓?<br>ch=getc(pf);<br>鍔熻兘鏄?浠巔f鎸囧畾鐨勬枃浠朵腑璇誨涓涓瓧絎?騫舵妸瀹冧綔涓哄嚱鏁板艱繑鍥?<br>渚嬪:鎶婁竴涓凡瀛樺湪紓佺洏涓婄殑file_1.dat鏂囨湰鏂囦歡涓殑鍐呭,鍘熸牱杈撳嚭鍒扮粓绔睆騫曚笂.<br>#include<br>void main(){<br>FILE *fpin;<br>char ch;<br>if((fpin=fopen("file_1.dat","r"))==NULL)<br>{ printf("Cann't open this file!\n");exit(0);}<br>ch=fgetc(fpin);<br>while (ch!=EOF)<br>{ putchar(ch); ch=fgetc(fpin);}<br>fclose(fpin);<br>}</div> <div> </div> <div><br><strong>13.6鍒ゆ柇鏂囦歡緇撴潫鍑芥暟feof<br></strong>EOF鍙互浣滀負鏂囨湰鏂囦歡鐨勭粨鏉?鏍囧織,浣嗕笉鑳戒綔涓轟簩榪涘埗鏂囦歡鐨勭粨鏉熺.feof鍑芥暟鏃㈠彲浠ュ垽鏂簩榪涘埗鏂囦歡,鍙堝彲浠ュ垽鏂枃鏈枃浠?<br>渚?緙栧啓紼嬪簭,鐢ㄤ簬鎶婁竴涓枃鏈枃浠?婧?澶嶅埗鍒板彟涓涓枃浠?鐩殑)涓?婧愭枃浠跺悕鍜岀洰鐨勬枃浠跺悕鐢卞懡浠よ杈撳叆.鍛戒護褰㈠紡濡備笅:<br>鍙墽琛岀▼搴忓悕 婧愭枃浠跺悕 鐩殑鏂囦歡鍚?br>#include <br>void filecopy(FILE* ,FILE *);<br>void main(int argc,char *argv[]){<br>FILE *fpin,*fpout;<br>if(argc==3)<br>{ fpin=fopen(argv[1],"r");<br>fpout=fopen(argv[2],"w");<br>filecopy(fpin,fpout);<br>fclose(fpin);fclose(fpout);<br>}<br>else if(argc>3) <br>printf("The file names too many!!\n";<br>else<br>printf("There are no file names for input or output!!\n );<br>}<br>void filecopy(FILE *fpin,FILE *fpout)<br>{<br>char ch;<br>ch=getc(fpin);<br>while(!feof(fpin))<br>{putc(ch,fpout); ch=getc(fpin);}<br>}</div> <div> </div> <div><br><strong>13.7fscanf鍑芥暟鍜宖printf鍑芥暟</strong><br>1,fscanf鍑芥暟<br>fscanf鍙兘浠庢枃鏈枃浠朵腑鎸夋牸寮忚緭鍏?鍜宻canf鍑芥暟鐩鎬技,鍙笉榪囪緭鍏ョ殑瀵硅薄鏄鐩樹笂鏂囨湰鏂囦歡涓殑鏁版嵁.璋冪敤褰㈠紡涓?<br>fscanf(鏂囦歡鎸囬拡,鏍煎紡鎺у埗瀛楃涓?杈撳叆欏硅〃)<br>渚嬪:fscanf(<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>,"%d%d",&a,&b);<br>fscanf(stdin,"%d%d",&a,&b);<br>絳変環浜巗canf("%d%d",&a,&b);<br>3.fprintf鍑芥暟<br>fprintf鍑芥暟鎸夋牸寮忓皢鍐呭瓨涓殑鏁版嵁杞崲鎴愬搴旂殑瀛楃,騫朵互ASCII浠g爜褰㈠紡杈撳嚭鍒版枃鏈枃浠朵腑.Fprintf鍑芥暟鍜宲rintf鍑芥暟鐩鎬技,鍙槸灝嗚緭鍑虹殑鍐呭鎸夋牸寮忓瓨鏀懼埌紓佺洏鐨勬枃鏈枃浠朵腑.璋冪敤褰㈠紡濡備笅:<br>fprintf(鏂囦歡鎸囬拡,鏍煎紡鎺у埗瀛楃涓?杈撳嚭欏硅〃)<br>濡?fprintf(<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>,"%d %d",x,y);<br>浠ヤ笅璇彞 fprintf(stdout,"%d %d",x,y)</div> <div> </div> <div><br><strong>13.8fgets鍑芥暟鍜宖puts鍑芥暟<br></strong>1,fgets鍑芥暟<br>fgets鍑芥暟鐢ㄦ潵浠庢枃浠朵腑璇誨叆瀛楃涓?璋冪敤褰㈠紡濡備笅:<br>fgets(str,n,<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>);<br>鍑芥暟鍔熻兘鏄?浠?strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>鎵鎸囨枃浠朵腑璇誨叆n-1涓瓧絎︽斁鍏tr涓鴻搗濮嬪湴鍧鐨勭┖闂村唴;濡傛灉鍦ㄦ湭璇繪弧n-1涓瓧絎︽椂,鍒欓亣鍒版崲琛岀鎴栦竴涓狤OF緇撴潫鏈璇繪搷浣?騫跺凡str浣滀負鍑芥暟鍊艱繑鍥?<br>13.8fgets鍑芥暟鍜宖puts鍑芥暟<br>2,fputs鍑芥暟<br>fput鍑芥暟鎶婂瓧絎︿覆杈撳嚭鍒版枃浠朵腑.鍑芥暟璋冪敤褰㈠紡濡備笅:<br>fputs(str,<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>);<br>娉ㄦ剰:涓轟簡渚夸簬璇誨叆,鍦ㄨ緭鍑哄瓧絎︿覆鏃?搴斿綋浜轟負鐨勫姞璇稿"\n"榪欐牱鐨勫瓧絎︿覆.<br></div> <div>#include <stdio.h><br>#include <iostream></div> <div>int main(int argc, char *argv[])<br>{<br> char arr[10] ;<br> char *ap = "hello!" ;<br> FILE *fp ;<br> if ((fp = fopen("hello.txt", "wt+")) == NULL)<br> {<br>  printf("error!") ;<br>  exit(1) ;<br> }<br>    fputs(ap, fp) ;<br><br> rewind(fp) ; //<br><br> fgets(arr, 10, fp) ;<br> printf("%s\n", arr) ;<br> fclose(fp) ;<br> return 0 ;<br>}</div> <div><br></div> <div><br><strong>13.9fread鍑芥暟鍜宖write鍑芥暟</strong><br>渚嬪鏈夊涓嬬粨鏋勪綋:<br>struct st{<br>char num[8];<br>float mk[5];<br>}pers[30];<br>浠ヤ笅寰幆灝嗘妸榪?0涓厓绱犱腑鐨勬暟鎹緭鍑哄埌<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>鎵鎸囨枃浠朵腑.<br>for(i=0;i<30;i++)<br>fwrite(&pers[i],sizeof(struct st),1,<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>);</div> <div> </div> <div><br><strong>13.9fread鍑芥暟鍜宖write鍑芥暟</strong><br>浠ヤ笅璇彞浠?strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>鎵鎸囩殑鏂囦歡涓啀嬈″皢姣忎釜瀛︾敓鏁版嵁閫愪釜璇誨叆鍒皃ers鏁扮粍涓?<br>i=0;<br>fread(&pers[i],sizeof(struct st),1,<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>);<br>while(!feof(<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>))<br>{ i++;<br>fread(&pers[i],sizeof(struct st),1,<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>);<br>}</div> <div> </div> <div><br><strong>13.10鏂囦歡瀹氫綅鍑芥暟</strong><br>1,<a name=0></a><strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">fseek</strong>鍑芥暟<br><strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">fseek</strong>鍑芥暟鐢ㄦ潵縐誨姩鏂囦歡浣嶇疆鎸囬拡鍒版寚瀹氱殑浣嶇疆涓?鎺ョ潃鐨勮鎴栧啓鎿嶄綔灝嗕粠姝や綅緗紑濮?鍑芥暟鐨勮皟鐢ㄥ艦寮忓涓?<br><strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">fseek</strong>(pf,offset,origin)<br>pf:鏂囦歡鎸囬拡<br>offset:浠ュ瓧鑺備負鍗曚綅鐨勪綅縐婚噺,涓洪暱鏁村艦.<br>origin:鏄搗濮嬬偣,鐢ㄦ潵鎸囧畾浣嶇Щ閲忔槸浠ュ摢涓綅緗負鍩哄噯鐨?<br>1,<strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">fseek</strong>鍑芥暟<br>浣嶇Щ閲忕殑琛ㄧず鏂規硶<br>鏍囪瘑絎?鏁板瓧 浠h〃鐨勮搗濮嬬偣 <br>SEEK_SET 0 鏂囦歡寮濮?br><a name=3></a><strong style="COLOR: black; BACKGROUND-COLOR: #ff9999">SEEK_END</strong> 2 鏂囦歡鏈熬<br>SEEK_CUR 1 鏂囦歡褰撳墠浣嶇疆<br>鍋囪pf宸叉寚鍚戜竴涓簩榪涘埗鏂囦歡,鍒?<br><strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">fseek</strong>(pf,3<a name=2></a><strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">0L</strong>,SEEK_SET)<br><strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">fseek</strong>(pf,-1<strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">0L</strong>*sizeof(int),<strong style="COLOR: black; BACKGROUND-COLOR: #ff9999">SEEK_END</strong>)<br>瀵逛簬鏂囨湰鏂囦歡,浣嶇Щ閲忓繀欏繪槸0;濡?<br><strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">fseek</strong>(pf,<strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">0L</strong>,SEEK_SET)<br><strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">fseek</strong>(pf,<strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">0L</strong>,<strong style="COLOR: black; BACKGROUND-COLOR: #ff9999">SEEK_END</strong>)<br>2. ftell鍑芥暟<br>ftell鍑芥暟鐢ㄤ互鑾峰緱鏂囦歡褰撳墠浣嶇疆鎸囬拡鐨勪綅緗?鍑芥暟緇欏嚭褰撳墠浣嶇疆鎸囬拡鐩稿浜庢枃浠跺紑澶寸殑瀛楄妭鏁?濡?<br>long t;<br>t=ftell(pf);<br>褰撳嚱鏁拌皟鐢ㄥ嚭閿欐椂,鍑芥暟榪斿洖-1L.<br>鎴戜滑鍙互閫氳繃浠ヤ笅鏂瑰紡鏉ユ祴璇曚竴涓枃浠剁殑闀垮害:<br><strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">fseek</strong>(<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>,<strong style="COLOR: black; BACKGROUND-COLOR: #99ff99">0L</strong>,<strong style="COLOR: black; BACKGROUND-COLOR: #ff9999">SEEK_END</strong>);<br>t=ftell(<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>);<br>3.rewind鍑芥暟<br>璋冪敤褰㈠紡涓?<br>rewind(pf);<br>鍑芥暟娌℃湁榪斿洖鍊?鍑芥暟鐨勫姛鑳芥槸浣挎枃浠剁殑浣嶇疆鎸囬拡鍥炲埌鏂囦歡鐨勫紑澶?</div> <div> </div> <div><br><strong>13.10鏂囦歡搴旂敤</strong><br>鍦ㄧ鐩樹笂鐨則est.txt鏂囦歡涓斁鏈?0涓笉灝忎簬2鐨勬鏁存暟,鐢ㄥ嚱鏁拌皟鐢ㄦ柟寮忕紪鍐欑▼搴?瑕佹眰瀹炵幇:<br>1,鍦ㄨ璋冨嚱鏁皃rime涓?鍒ゆ柇鍜岀粺璁?0涓暣鏁頒腑鐨勭礌鏁頒互鍙婁釜鏁?<br>2,鍦ㄤ富鍑芥暟涓皢鍏ㄩ儴绱犳暟榪藉姞鍒扮鐩樻枃浠秚est.txt鐨勫熬閮?鍚屾椂杈撳嚭鍒板睆騫曚笂.<br>#include<br>#include<br>Int prime(int a[],int n)<br>{<br>int I,j,k=0,flag=0;<br>for(i=0;i { for(j=2;j if(a[i]%j==0)<br>{ flag=0; break;}<br>else flag=1;<br>if(flag) <br>{a[k]=a[i];k++;}<br>}<br>return k;<br>}<br>void main(){<br>int n,I,a[10];<br>FILE *<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>;<br><strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>=fopen("test1-2.txt","r+");<br>for(n=0;n<10;n++)<br>fscanf(<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>,"%d",&a[n]);<br>n=prime(a,n);<br><strong style="COLOR: black; BACKGROUND-COLOR: #ffff66">fseek</strong>(<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>,o,2);<br>for(i=0;i {printf("%3d",a[i]);<br>fprintf(<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>,"%3d",a[i]);<br>}<br>fclose(<strong style="COLOR: black; BACKGROUND-COLOR: #a0ffff">fp</strong>);<br>}</div> </div> <img src ="http://m.shnenglu.com/liu1061/aggbug/38441.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/liu1061/" target="_blank">T.S Liu</a> 2007-12-13 17:09 <a href="http://m.shnenglu.com/liu1061/articles/38441.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>learn file op!http://m.shnenglu.com/liu1061/articles/38316.htmlT.S LiuT.S LiuWed, 12 Dec 2007 07:36:00 GMThttp://m.shnenglu.com/liu1061/articles/38316.htmlhttp://m.shnenglu.com/liu1061/comments/38316.htmlhttp://m.shnenglu.com/liu1061/articles/38316.html#Feedback0http://m.shnenglu.com/liu1061/comments/commentRss/38316.htmlhttp://m.shnenglu.com/liu1061/services/trackbacks/38316.html 

 1
 2/*
 3    鍑芥暟璇存槑:
 4        1)銆乻rcFile涓烘簮鏂囦歡錛宭oc涓鴻媯鏌ョ殑浣嶇疆錛宒atabit涓鴻媯鏌ョ殑鏁版嵁浣嶏紝data涓洪渶瑕佹帓闄ょ殑鏁版嵁浣?br> 5        2)銆佹垚鍔熻繑鍥?錛屽け璐ヨ繑鍥?
 6*/

 7int updateContent(const char *srcFile,const int loc,const int databit, const int data)
 8{
 9    FILE *fsrc=NULL,*ftmp=NULL;
10    char BUFF[256];
11    char tempfile[]="tempfileXXXXXX";
12    char *pbitdata=NULL;
13    const char *delim=",";
14
15    assert((NULL!=srcFile) && (loc>0&& (databit>=1 && databit<=2&& (data>=0 && data<=9));
16
17    if (NULL==(ftmp=fopen(mktemp(tempfile),"w+")))
18    {//濡傛灉鎵撳紑涓存椂鏂囦歡澶辮觸
19        printf("<%s:%d>open(or create) file [%s] failed!\nERROR!!! %s\n",
20            __FILE__,__LINE__,tempfile,strerror(errno));
21
22        return 0;
23    }

24
25    if (NULL==(fsrc=fopen(srcFile,"r")))
26    {//濡傛灉鎵撳紑婧愭枃浠跺け璐?/span>
27        printf("<%s:%d>open file [%s] failed!\nERROR!!! %s\n",
28            __FILE__,__LINE__,srcFile,strerror(errno));
29
30        fclose(ftmp);
31        remove(tempfile);
32
33        return 0;
34    }

35
36    while (!feof(fsrc))
37    {
38        char *tmpStr=NULL;
39        int curNum=1;
40
41        memset(BUFF,0,sizeof(BUFF));
42        if (NULL==fgets(BUFF,sizeof(BUFF),fsrc))
43            continue;
44        tmpStr=strdup(BUFF);
45        pbitdata=strtok(BUFF,delim);
46        while (NULL!=pbitdata)
47        {//鍒嗗壊瀛楃涓?/span>
48            if (curNum++==loc)
49            {//宸叉壘鍒版寚瀹氫綅緗殑鏁版嵁
50                //濡傛灉涓嶇鍚堣姹?鍒欎繚鐣?鍚﹀垯鍒犻櫎
51                if (data!=*(pbitdata+databit-1)-48)
52                    fputs(tmpStr,ftmp);
53
54                free(tmpStr);
55                tmpStr=NULL;
56
57                break;
58            }

59            pbitdata=strtok(NULL,delim);
60        }

61        //濡傛灉娌℃湁鎵懼埌鎸囧畾鐨勪綅緗?/span>
62        if (NULL!=tmpStr)
63        {
64            fputs(tmpStr,ftmp);
65
66            free(tmpStr);
67            tmpStr=NULL;
68        }

69    }

70
71    if (NULL==(fsrc=freopen(srcFile,"w",fsrc)))
72    {//閲嶆柊鎵撳紑婧愭枃浠跺け璐?/span>
73        printf("<%s:%d>reopen file [%s] failed!\nERROR!!! %s\n",
74            __FILE__,__LINE__,srcFile,strerror(errno));
75
76        return 0;
77    }

78    rewind(ftmp);
79
80    while (!feof(ftmp))
81    {//鏇存柊鑷沖師鏉ョ殑鏂囦歡
82        memset(BUFF,0,sizeof(BUFF));
83        if (NULL==fgets(BUFF,sizeof(BUFF),ftmp))
84            continue;
85        fputs(BUFF,fsrc);
86    }

87    fclose(fsrc);
88    fclose(ftmp);
89    remove(tempfile);
90
91    return 1;
92}

93
94


T.S Liu 2007-12-12 15:36 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              亚洲一区二区网站| 国产伦理精品不卡| 久久久精品国产一区二区三区 | 亚洲国产精品第一区二区| 国产一区二区精品| 欧美成人免费视频| 尤物99国产成人精品视频| 欧美成人按摩| 久久本道综合色狠狠五月| 亚洲精品免费看| 久久一二三四| 亚洲一区二区三区激情| 在线观看日韩一区| 夜久久久久久| 久久综合亚州| 国产一区二区三区直播精品电影 | 久久噜噜噜精品国产亚洲综合| 久久婷婷av| 亚洲欧洲日产国码二区| 久久经典综合| 蜜臀99久久精品久久久久久软件 | 亚洲精品无人区| 久久在线免费观看| 亚洲视频网在线直播| 老司机精品视频一区二区三区| 亚洲大胆视频| 亚洲精品久久久久久久久| 久久九九免费| 一本色道久久综合一区 | 亚洲美女免费精品视频在线观看| 久久国产综合精品| 亚洲欧美另类中文字幕| 亚洲午夜日本在线观看| 亚洲永久免费精品| 午夜精品在线视频| 欧美一区二区日韩| 久久九九久精品国产免费直播| 精品va天堂亚洲国产| 亚洲高清在线精品| 国产一区av在线| 亚洲福利视频网站| 欧美午夜精品电影| 欧美区一区二| 欧美日韩在线电影| 国产精品一级| 激情欧美日韩| 亚洲精品一区中文| 一本色道久久综合亚洲精品高清| 99精品99| 性视频1819p久久| 久久视频精品在线| 免费亚洲视频| 亚洲精品孕妇| 亚洲欧美日本日韩| 久久综合九色| 国产精品国产三级国产aⅴ浪潮| 国产九九视频一区二区三区| 在线看视频不卡| 亚洲欧美精品伊人久久| 亚洲大胆人体在线| 欧美人与禽性xxxxx杂性| 欧美日韩一区在线视频| 国产精品精品视频| 一区免费在线| 夜夜嗨av一区二区三区| 国产一区二区三区av电影| 在线视频精品| 在线视频欧美日韩精品| 一本色道综合亚洲| 亚洲国产精品久久久久秋霞影院| 99精品欧美一区二区蜜桃免费| 亚洲性视频h| 久色婷婷小香蕉久久| 亚洲精品一区在线观看| 亚洲制服av| 亚洲福利视频一区| 在线亚洲观看| 免费成人av| 国产日韩欧美在线看| 99国内精品久久| 免费久久99精品国产自| 亚洲综合色婷婷| 老司机午夜精品视频| 国产欧美日韩麻豆91| av成人免费| 欧美激情精品久久久久久久变态| 国产欧美va欧美不卡在线| 久久久久久亚洲综合影院红桃| 亚洲一区二区三区四区五区午夜| 久久爱www| 国产精品日韩欧美| 亚洲天堂第二页| 欧美国产日本韩| 国产午夜精品久久久| 久久本道综合色狠狠五月| 国产精品成人一区| 亚洲精品久久久久久久久久久久| 欧美在线视频不卡| 亚洲欧美国产77777| 欧美视频一区二| 一区二区三区成人精品| 亚洲国产日韩精品| 欧美二区在线观看| 亚洲国产日韩欧美在线99| 麻豆精品网站| 亚洲国产精品va在看黑人| 午夜亚洲影视| 亚洲一级黄色| 亚洲精品国产系列| 亚洲欧美在线高清| 欧美视频一区二区三区| 国产麻豆午夜三级精品| 午夜激情综合网| 亚洲一区二区三区四区在线观看 | 亚洲毛片在线看| 久久久久久久久久看片| 欧美日韩不卡合集视频| 久久精品国产精品亚洲| 欧美日韩一区成人| 日韩小视频在线观看| 亚洲国产精品一区在线观看不卡| 久久米奇亚洲| 亚洲裸体俱乐部裸体舞表演av| 亚洲国产成人av| 久久se精品一区精品二区| 国产欧美精品国产国产专区| 久久精品成人一区二区三区| 久久se精品一区精品二区| 亚洲激情啪啪| 国产精品扒开腿做爽爽爽视频| 亚洲欧洲免费视频| 国产精品久久久久久久久久免费| 亚洲欧美大片| 久久久.com| 日韩亚洲国产欧美| 亚洲一区综合| 亚洲高清资源| 日韩一级片网址| 国产精品一区久久| 裸体一区二区| 欧美日韩精品二区第二页| 性欧美暴力猛交另类hd| 久久综合久久综合久久| 亚洲综合电影一区二区三区| 樱花yy私人影院亚洲| 亚洲精品欧洲精品| 日韩小视频在线观看| 国产一区二区三区奇米久涩| 亚洲国产成人在线| 国产精品一二三| 美女国产一区| 国产精品国产三级欧美二区| 久久久久久综合网天天| 欧美黄色日本| 久久精品欧洲| 欧美日韩三级电影在线| 久久久91精品国产一区二区精品| 欧美黄色一级视频| 久久天堂精品| 国产美女精品| 欧美国产日韩一区二区在线观看| 国产精品美女久久久浪潮软件| 精品二区视频| 欧美高清在线播放| 国产综合精品一区| 亚洲永久免费av| 一区二区三区国产精品| 亚洲小说欧美另类婷婷| 欧美福利一区二区三区| 欧美中文字幕视频在线观看| 欧美一进一出视频| 亚洲一区三区电影在线观看| 欧美一区二区视频在线| 亚洲综合好骚| 午夜精彩视频在线观看不卡 | 亚洲裸体视频| 一本色道久久88精品综合| 亚洲人成人99网站| 国产精品卡一卡二卡三| 久久中文久久字幕| 一区二区三区毛片| 免费高清在线一区| 亚洲欧美日本伦理| 在线播放中文字幕一区| 欧美午夜电影网| 久久久综合网站| 亚洲一区免费观看| 欧美高清在线视频| 久久国产精品久久精品国产| 夜夜爽99久久国产综合精品女不卡| 亚洲欧美日韩在线| 欧美韩国一区| 久久久www成人免费无遮挡大片| 亚洲精华国产欧美| 国产一区观看| 国产精品分类| 欧美日本在线| 欧美电影电视剧在线观看| 久久国内精品视频| 亚洲欧美日韩另类精品一区二区三区|