CÖжÁÎļþ
À´×Ô£ºhttp://blogger.org.cn/blog/more.asp?name=binaryluo&id=11408
CÎļþ²Ù×÷Óöµ½µÄ×´¿ö
1.½«Ò»¸öÎļþ¶Áµ½ÁíÒ»¸öÎļþ£¬ÓÓ(ch = getc(fp)) != EOF”À´ÅжÏÎļþÊÇ·ñ½áÊø£¬Èç¹ûÎļþÊÇȫӢÎÄÎı¾µÄ»°¾ø¶ÔûÎÊÌ⣬ÐÂÎļþµÄ´óСºÍÔÎļþ´óСһÑù£»µ«ÊÇÈç¹ûÊÇһЩÓÐÖÐÎÄ×Ö·û»òÕßÊǶþ½øÖÆÎļþ£¬ÔÎļþû¶ÁÍê¾Í½áÊø¡£
2.½«Ò»¸öÎļþ¶Áµ½ÁíÒ»¸öÎļþ£¬ÓÓ!feof(fp)”ÅжÏÎļþÊÇ·ñ½áÊø£¬²»¹ÜÔÎļþÊÇʲôÀàÐ͵ͼ¿ÉÒÔ½«ÔÎļþÈ«²¿¶ÁÍê²Å½áÊø£¬µ«ÊÇÐÂÎļþµÄ´óС±ÈÔÎļþ¶àÁËÒ»¸ö×Ö½Ú¡£
ÎÊÌ⣺ÔÚCÀïÈçºÎ²ÅÄÜÕýÈ·ÅжÏÎļþ½áÊø£¿£¿
̽Ë÷
²âÊÔÒ»£¬ÎÒдÁËÒ»¸öº¯ÊýÀ´ÊÔÓÃEOFÅжÏÎļþ½áÊøµÄÇé¿ö£º
-------in.txtÄÚÈÝÈçÏÂ---------
abcde
-------in.txt½áÊø-------------
-------test1.c----------------
int main(int argc, char* argv[]){
char ch;
FILE* in;
FILE* out;
in = fopen("in.txt", "rb"); /* in.txtȫΪӢÎÄ×Ö·û */
out = fopen("out.txt", "wb");
while ((ch = getc(in)) != EOF){
putc(ch, out);
}
}
ÔËÐкó½á¹ûÊÇ£ºout.txtµÄ´óСºÍin.txtµÄ´óСÍêȫһÑù¡£
È»ºóÐÞ¸Äin.txtÈçÏ£¬ÔÚÔÀ´µÄ»ù´¡ÉϼÓÈëһЩÖÐÎÄ£º
-------in.txtÐ޸ĺóµÄÄÚÈÝÈçÏÂ---------
abcde
ÕâÊÇÒ»¸ö²âÊÔÎļþ
²âÊÔÖÐÎÄ×Ö·û
-------in.txt½áÊø--------------------
ÔËÐкó¼Ç¹ýÒ²ÊÇ´óСÊÇÒ»ÑùµÄ¡£½«Ô´³ÌÐòÖеēin = fopen("in.txt", "rb");out = fopen("out.txt", "w");”¸ÄΪ“in = fopen("in.rar", "rb");out = fopen("out.rar", "wb");”£¬ÆäÖУ¬in.rarÊÇÒ»¸öѹËõ°üÎļþ£¬´óСÓÐ4M¶à£¬ÔËÐгÌÐòºó£¬µÃµ½µÄout.rarÎļþÖ»ÓÐ800¶àk£¬Ë«»÷½âѹҲ³öÏÖ´íÎó£¬ÎÞ·¨½âѹ¡£
½áÂÛ1£ºÔÚCÀ²Ù×÷ÎļþµÄʱºò£¬Èç¹û´ò¿ª·½Ê½ÊÇ“r”»òÕß“w”£¬ÊÇÒÔÎı¾ÐÎʽ´ò¿ª£¬Ò²¾ÍÊǶÁÈçÄÚ´æµÄ×Ö·ûÖµ¶¼ÊÇ0£256Ö®¼ä£¬²»¿ÉÄܳöÏÖ£1£¬Ëù
Ïà¹ØÎĵµ£º
Ç°ÃæÒ»ÆªÎÒÃǽéÉÜÁËÖ¸Õ룬ÏàÐÅ´ó¼Ò¶ÔÖ¸Õë²»ÔÙÊÇÄÇôİÉú£¬ËäÈ»ÔÚһЩ´óµ¨µÄÖ¸ÕëÇ¿ÖÆÀàÐÍת»»ÉÏÓеĶÁÕß»¹²»Ï°¹ß¡£µ«ÊÇÖÁÉÙ´ó¼ÒÐÄÀïÓиöÊý£¬Ö¸ÕëʽÈç´ËµÄÁé»î£¬ÒÔÖÁÓÚÄã¿ÉÒÔ²Ù×÷µÃ±È½Ïµ×²ã»òÕ߸ù±¾Ô½¹ýһЩÓï·¨µÄÏÞÖÆ¡£Õâ¿ÉÄÜÒ²ÊÇÖÚ¶à³ÌÐòÔ±Åê»÷CC++²»°²È«µÄÒòËØÖ®Ò»¡£°²²»°²È«²»ÊDZ¾ÎÄÏëÒª±í´ïµÄ£¬ÕâÀïÖ»ÐèÒª¼Çסһµã£¬Èç¹û ......
CÓïÑÔÓÉDennis M. RitchieÔÚ1973ÄêÉè¼ÆºÍʵÏÖ¡£´ÓÄÇÒÔºóʹÓÃÕßÖð½¥Ôö¼Ó¡£µ½1978ÄêRitchieºÍBellʵÑéÊÒµÄÁíһλ³ÌÐòר¼ÒKernighanºÏдÁËÖøÃûµÄ¡¶The C Programming Language¡·£¬½«CÓïÑÔÍÆÏòÈ«ÊÀ½ç£¬Ðí¶à¹ú¼Ò¶¼³öÁËÒë±¾£¬¹úÄÚÓÐһЩCÓïÑÔÊé¾ÍÊÇÕâ±¾ÊéµÄ·Òë»òÕß±àÒë¡£ÓÉÕâ±¾Ê鶨ÒåµÄCÓïÑÔºóÀ´±»ÈËÃdzÆ×÷ K&R C¡£
Ëæ×ÅCÓ ......
1£¬C++ÀXºõ²»ÐèÒªÓõ½ºê£¬ÓÃconst»ðenum¶¨ÒåÃ÷ÏԵij£Á¿¡£ÓÃinline±ÜÃ⺯ÊýµÄ¶îÍ⿪Ïú£¬ÓÃtemplateÈ¥¿Ì»Ò»×庯Êý»òÕßÀàÐÍ£¬ÓÃnamespaceÈ¥±ÜÃâÃû×Ö³åÍ»¡£ÀàÒ²¿ÉÒÔ¡£
2£¬²»ÒªÔÚÄãÐèҪ֮ǰÉêÃ÷Ëü£¬Ê²Ã´Ê±ºòÓÃʲôʱºòÉêÃ÷£¨µ±Äê´ÓC++תCµÄʱºò³ÔÁËÀÏ¿àÁË£©£»
3£¬²»ÒªÓÃmalloc£¨£©£¬new¿ÉÒÔ×öµÄºÜºÃ£¬¶ÔÓÚrealloc£¨£©£¬¿ÉÒÔ ......
1¡¢C/C++³ÌÐòÔ±Çë×¢Ò⣬²»ÄÜÔÚcaseÓï¾ä²»Îª¿Õʱ“ÏòÏÂÖ´ÐД¡£
2¡¢ÖµÀàÐͺÍÒýÓÃÀàÐÍÖ®¼äµÄÇø±ð£ºC#µÄ»ù±¾ÀàÐÍ£¨int£¬charµÈ£©¶¼ÊÇÖµÀàÐÍ£¬ÊÇÔÚÕ»Öд´½¨µÄ¡£¶ø¶ÔÏóÊÇÒýÓÃÀàÐÍ£¬´´½¨ÓÚ¶ÑÖУ¬ÐèҪʹÓùؼü×Önew¡£
3¡¢ÔÚC#ÖÐͨ¹ýʵÀý·ÃÎʾ²Ì¬·½·¨»ò³ÉÔ±±äÁ¿ÊDz»ºÏ·¨µÄ£¬»áÉú³É±àÒëÆ÷´íÎó¡£µ«ÊÇÎÒÃÇ¿ÉÒÔͨ¹ýÉùÃ÷ËûÃÇ ......
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <errno.h>
#include <string.h>
#define MAX 1024
int get_file_count(char *root)
{
DIR *dir;
struct dirent * ptr;
int total = 0;
char path[MAX];
dir = opendir(root ......