³ÌÐòÔÚ¶àÎļþÇé¿öÏÂÔËÐÐ,Ìáʾ¶Î´íÎó.µ«ÊǰÑËùÓдúÂë·ÅÔÚÒ»¸öÎļþÖÐÔËÐÐÕýÈ·
¸÷λǰ±²,±¾È˸Õѧϰlinuxϵͳϱà³Ì.ÏÖÔÚÓöµ½ÕâÑùÒ»¸öÒÉÎÊ,°ÑËùÓдúÂë·ÅÔÚmainº¯ÊýÖбàÒëÔËÐÐ,Ò»ÇÐÕý³£.µ«ÊÇ,Èç¹û°Ñ´úÂë·Ö·ÅÔÚ²»Í¬µÄCÎļþÖÐ,±àÒëÕýÈ·,Ö´ÐÐʱÖÕ¶ËÌáʾ"¶Î´íÎó".ÎÒ°Ñ´úÂëÌù³öÀ´,ʵÏÖÒ»¸ö¼òµ¥µÄ¹¦ÄÜ,½«Ò»¸öÎļþµÄÄÚÈÝ¿½±´µ½ÁíÒ»¸öÎļþÖÐ,Çë´ó¼Ò°ïÎÒ¿´¿´,ÎÊÌâ³öÔÚÄÄÀï?ÏÂÃæÊÇËùÓдúÂë¶¼ÔÚmainº¯ÊýÖеÄÇé¿ö:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *in, *out;
char ch;
if(argc != 3)
{
printf("Yon forgot to enter a filename. \n");
exit(1);
}
if((in = fopen(argv[1], "rb")) == NULL)
{
printf("Can not open source file.\n");
exit(1);
}
if((out = fopen(argv[2],"wb")) == NULL)
{
printf("Can not open distination file.\n");
exit(1);
}
while(!feof(in))
{
ch = getc(in);
if(!feof(in))
putc(ch,out);
}
fclose(in);
fclose(out);
return 0;
}
ÔÚÖÕ¶ËÖÐÔËÐÐÃüÁî:
[user@local host user]$ gcc workspace/copyfile/main.c
[user@local host user]$ ./a.out tsee aaa
ÎļþÄܹ»Õý³£Éú³É.
ÏÂÃæÊǷֳɶàÎļþµÄÇé¿ö:
/*******main.c*************/
#include <stdio.h>
#include <stdlib.h>
#include "file.h"
#include "GetAndPut.h"
int main(int argc, char *argv[])
{
FILE *in, *out;
char ch;
if(argc != 3)
{
printf("Yon forgot to enter a filename,\n");
exit(1);
}
Openfile(argv[1], "rb");
Openfile(argv[2], "wb");
while(!feof(in))
{
ch = GetCharFromFile(in);
if(!feof(in))
PutCharToFile(ch, out);
}
fclose(in);
fclose(out);
return 0;
}
/***********file.h*****************/
FILE * Openfile(const char *strFileName, const char *mode);
/***********file.c*****************/
#include <stdio.h>
#include "file.h"
FILE * Openfile(const char *strFileName, const char *mode)
{
FILE * fp;
if((fp = fopen(strFileName, mode)) == NULL)
{
printf("Can not open distination file.\n");
//printf("open failed ! %s", strFileName);
exit(1);
}
return fp;
}
/***********GetAndPut.h*****************/
char GetCharFromFile(FILE *fp);
int PutCharToFile(char chTemp, FILE *fp);
/***********GetAndPut.c*****************/
#include"stdio.h"
char GetCharFromFile(FILE *fp)
{
char chTemp;
chTemp = getc(fp);
return chTemp;
}
int PutCharToFile(char chTemp, FILE *fp)
{
int nReturn;
putc(chTemp, fp);
return nReturn;
}
ÔÚÖÕ¶ËÔËÐÐÃüÁî:
[user@local host user]$ gcc workspace/copyfile/main.c workspace/copyfile/file.c workspace/copyfile/GetAndPut.c
[user@local host user]$ ./a.out tsee bbbbb
¶Î´íÎó
[user@local host user]$
[[i] ±¾Ìû×îºóÓÉ ¼òµ¥linux ÓÚ 2008-5-15 10:21 ±à¼ [/i]]
Ò³:
[1]