CÎļþ²Ù×÷¾ÍÕâô¼òµ¥
cÎļþ²Ù×÷¾ÍÕâô¼òµ¥
Îļþ²Ù×÷£¬ÉÔ΢һ×ܽá.¡£
FILEÊÇÒ»¸ö½á¹¹ÌåÀàÐÍ£¬ÔÚTCºÍVSÖж¨Òå²»Ïàͬ£¬ËûµÄ×÷ÓþÍÊÇÔÚfopen()Ö®ºó±£´æÁË´ò¿ªÎļþµÄÐÅÏ¢¡£Ò²¾ÍÊÇ˵²Ù×÷ϵͳ°ïÎÒÃÇÍê³ÉÁË£¬ÎÒÃDz»Óùܣ¬´ó´ó½µµÍÁËÄѶȰɡ£
Ê×ÏÈÎÒÃÇ¿¼ÂÇ϶ÔÎļþµÄ²Ù×÷£¬ÎļþÀàÐÍ·ÖΪÎı¾ºÍ¶þ½øÖÆ¡£¶ÁдÎļþµÄº¯ÊýÒ»°ãÇ°ÃæÓиöf£¬Ò²¾Í±íʾfile£¬open£¬fopen,read,fread£¬ºÜÈÝÒ×¼Çס¡£
´ò¿ªÎļþºóÒª¶Áд£¬µ±Ç°ÆäÖйØÓÚÅжϴò¿ªÊÇ·ñ³É¹¦£¬¶ÁдÊÇ·ñ³É¹¦¡£¡£¡£¡£ÎÒ¾ÍÊ¡ÂÔÁË¡£´ò¿ªÊ±ÉèÖôò¿ªºóµÄ²Ù×÷ģʽ£¬Õâ¸öģʽֱ½Ó±£´æÔÚÁËFILE½á¹¹ÌåµÄflagÖС£´ò¿ª¾ÍÒ»¸öfopen£¬È»ºóÎÒÃÇÏÈ¿¼ÂǶÁ°É£¬¶ÁдµÄº¯Êý¶¼±È½Ï¶à£º
fgetc(),fgetchar(),getc()£»fgets(),gets(),fread(),fscanf();
ǰÈý¸öÊǶÁÈ¡µ¥¸ö×Ö·û£¬ºóÈý¸öÊǶÁÈ¡×Ö·û´®£¬Ò»°ã¶¼ÊǽáºÏwhileÅжÏÊÇ·ñµ½ÁËEOFÀ´´¦Àí¡£fscanf()ºÍfprintf()½ÏΪ¸´ÔÓ£¬Ò²ÈÝÒ׸ã»ìÏý£¬¿ÉÒÔÕâôÀí½â£¬
fscanf(fp,"%s",name); //´ÓfpÖ¸¶¨µÄÎļþÖÐÒÔ×Ö·û´®±£´æÔÚname±äÁ¿ÖÐ
fprintf(fp,"%s",name); //½«nameÒÔ×Ö·û´®µÄÐÎʽ±£´æµ½fpÖ¸¶¨µÄÎļþÖÐ
fread(a,b,c,d)º¯Êý¹¦ÄÜÇ¿´ó£¬¿ÉÒÔÕâôÀí½â£¬´ÓdÖжÁÈ¡c¸öb³¤¶ÈµÄÊý¾Ý±£´æµ½aÖС£È磺fread(buf, strlen(msg)+1, 1,fp);
fwrite(a,b,c,d)º¯Êý¹¦ÄÜÇ¿´ó£¬¿ÉÒÔÕâôÀí½â£¬´ÓaÖжÁÈ¡c¸öb³¤¶ÈµÄÊý¾Ý±£´æµ½dÖС£Ö»ÊÇaºÍdλÖñ任ÁË¡£È磺fwrite(buf, strlen(msg)+1, 1,fp);
ÓÐÁËÒÔÉϵĺ¯ÊýÄã¿ÉÒÔ¼òµ¥µÄ¶ÁÒ»¸öÎļþÁË£¬µ«ÊÇÈç¹ûÏë¶Áij¸öλÖã¬Ôõô°ì£¿¶ÁдÎļþ¶¼ÊÇͨ¹ýÒ»¸öÖ¸ÕëÀ´ÊµÏÖµÄFILE *fp;ÔÚfpÖб£´æÁËÒ»¸öÖ¸ÏòµÄµ±Ç°Î»ÖõÄÖ¸Õ룬ÎÒÃÇÒªµÃµ½Õâ¸öλÖ㬾ÍÓÃftell()º¯Êý¡£µÃµ½ÆäÓëÎļþÍ·µÄÆ«ÒÆÁ¿¡£È磺1£¬21£¬23£¬14£¬45£¬63£»fpÔÚfopenʱָÏòÁË1,È»ºófgetc()ѽʲôµÄ£¬¾Í¶Á³öÁË23,µ±È»Äãͨ¹ýftell()¾Í¿ÉÒÔÖªµÀĿǰµÄλÖÃÔÚµÚÈý¸ö¡£Èç¹ûÎÒÃÇҪȡÀ뿪ʼλÖõÚ4¸öµÄÊý¾ÝÄØ£¿Äã¿ÉÒÔʹÓÃrewind(fp)£»¸´Î»µ½ÎļþÍ·£¬ÔÚftell()==4£¬È»ºó¿ªÊ¼¶ÁÈ¡¡£µ±È»»¹ÓÐÒ»¸ö¸üºÃÓõĺ¯Êýfseek(FILEÖ¸Õë£¬Æ«ÒÆ×Ö½ÚÊý£¬ÆðʼλÖÃ);Õâ¸öº¯Êý¾ÍÏ൱Áé»îÁË£¬ÆðʼλÖÿÉÒÔÓÐÈý¸öÑ¡ÏÎļþ¿ªÍ·(SEEK_SET),Ï൱ÓÚrewind()ÁËһϣ»µ±Ç°Î»ÖÃ(SEEK_CUR);Îļþ½áβ(SEEK_END)¡£
×ÛºÏÒÔÉÏÄãÊDz»ÊÇ¿ÉÒÔÁé»îµÄ¶ÁÒ»¸öÎļþÁË£¬¶ÔÓÚдµÄº¯Êý£º
fputc(),fputchar(),putc();fputs(),puts(),fwrite(),fprintf();ºÍ¶Á¶¼ÊÇÒ»Ò»¶ÔÓ¦µÄ£¬¹ØÓÚËûÃÇÔõôʹÓ㬿ÉÒÔͨ¹ý¿´Æä²ÎÊý¶¼ÄÜÃ÷°×¡£
OK£¬µ½´Ë¶ÁдÊDz»ÊǾÍÕâô»ØÊÂÄØ£¬»¹ÓÐһССµã£¬gets,fgets....
Ïà¹ØÎĵµ£º
1.ÒýÑÔ
¡¡¡¡C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌØµã£¨±»ÊÀÈ˳ÆÎª“²»³¹µ×µØÃæÏò¶ÔÏ󔣩£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚÈκÎÀàµÄÈ«¾Ö±äÁ¿ºÍº¯Êý¡£µ«ÊÇ£¬C++±Ï¾ ......
±¾ÎĵÄÄÚÈÝÊÇ Win32 API£¨ÌرðÊǽø³Ì¡¢Ï̺߳͹²ÏíÄÚ´æ·þÎñ£©µ½ POWER ÉÏ Linux µÄÓ³Éä¡£±¾ÎÄ¿ÉÒÔ°ïÖúÄúÈ·¶¨ÄÄÖÖÓ³Éä·þÎñ×îÊʺÏÄúµÄÐèÒª¡£×÷ÕßÏòÄúÏêϸ½éÉÜÁËËûÔÚÒÆÖ² Win32 C/C++ Ó¦ÓóÌÐòʱÓöµ½µÄ API Ó³Éä¡£
¸ÅÊö
Óкܶ෽ʽ¿ÉÒÔ½« Win32 C/C++ Ó¦ÓóÌÐòÒÆÖ²ºÍÇ¨ÒÆµ½ pSeries ƽ̨¡£Äú¿ÉÒÔʹÓÃÃâ·ÑÈí¼þ»òÕßµÚÈý·½¹¤¾ßÀ´ ......
VCÖÐÏÂÃæ¼¸¸ö½á¹¹Ìå´óС·Ö±ðÊǶàÉÙÄØ
struct MyStruct
{
double m4;
char m1;
int m3£»
};
struct MyStruct {
char m1;
double m4;
int m3;
};
#pragma pack(push)   ......
Ò»¡¢ º¯Êý²ÎÊý´«µÝ»úÖÆµÄ»ù±¾ÀíÂÛ ¡¡¡¡º¯Êý²ÎÊý´«µÝ»úÖÆÎÊÌâÔÚ±¾ÖÊÉÏÊǵ÷Óú¯Êý£¨¹ý³Ì£©ºÍ±»µ÷Óú¯Êý£¨¹ý³Ì£©ÔÚµ÷Ó÷¢Éúʱ½øÐÐͨÐŵķ½·¨ÎÊÌâ¡£»ù±¾µÄ²ÎÊý´«µÝ»úÖÆÓÐÁ½ÖÖ£ºÖµ´«µÝºÍÒýÓô«µÝ¡£ÒÔÏÂÌÖÂ۳Ƶ÷ÓÃÆäËûº¯ÊýµÄº¯ÊýΪÖ÷µ÷º¯Êý£¬±»µ÷Óõĺ¯ÊýΪ±»µ÷º¯Êý¡£¡¡¡¡Öµ´«µÝ£¨passl-by-value£©¹ý³ÌÖУ¬±»µ÷º¯ÊýµÄÐÎʽ²Î ......
ÔÎĵØÖ·£ºhttp://westsoftware.blog.163.com/blog/static/2609410920091953456841/
×î½üÒ»Ö±ÔÚ¿´Andrew KoeningдµÄÊé¼®£¬¿ÉÒÔ˵ѧϰC/C++»òÕß´ÓÊÂÕâ·½ÃæµÄ¿ª·¢µÄÈËÔ±·Ç³£ÖµµÃÒ»¿´µÄÊé¼®£¬ÕâÀïÎÒÍÆ¼ö¿´¿´¡¶CÏÝÚåÓëȱÏÝ¡·Óë¡¶C/C++³Á˼¼¡·¡£
ÕâÀïÏÈÀ´¿´¿ ......