本文目錄一覽:
- 1、C語言文件複製
- 2、c語言 複製數組
- 3、C語言編寫函數:字符串的複製
C語言文件複製
不應對非文本文件使用fgetc等易受干擾的函數,建議用fread,fwrite讀寫二進制文件
#include “stdio.h”
/* 保護硬盤,絕對不要一個字節一個字節複製 */
#define SIZEOFBUFFER 256*1024L /* 緩衝區大小,默認為256KB */
long filesize(FILE *stream)
{
long curpos, length;
curpos = ftell(stream);
fseek(stream, 0L, SEEK_END);
length = ftell(stream);
fseek(stream, curpos, SEEK_SET);
return length;
}
int copyfile(const char* src,const char* dest)
{
FILE *fp1,*fp2;
int fsize,factread;
static unsigned char buffer[SIZEOFBUFFER];
fp1=fopen(src,”rb”);
fp2=fopen(dest,”wb+”);
if (!fp1 || !fp2) return 0;
for (fsize=filesize(fp1);fsize0;fsize-=SIZEOFBUFFER)
{
factread=fread(buffer,1,SIZEOFBUFFER,fp1);
fwrite(buffer,factread,1,fp2);
}
fclose(fp1);
fclose(fp2);
return 1;
}
int main()
{
copyfile(“file1.txt”,”file2.txt”);
return 0;
}
c語言 複製數組
strcpy(t[i],a[j],n);該語句的意思是:將某已知二維數組a的第j行前n個字符複製到另一個二維數組t的第i行中。給分吧
C語言編寫函數:字符串的複製
你這個拷貝函數里怎麼沒有主函數里的n來判斷哪些拷貝過來?
我加了個n,把原來的n改成了m,再加了兩條語句,其他的沒動,代碼如下:
#includestdio.h
#define
MAX_STR_LEN
100
char
*
str_cpy(int
n,char
*
t,
char
*
s)
{
int
i=0,m;
while(*s!=’\0′)
{
*t=*s;
t++;
s++;
i++;
}
for
(m=i;m0;m–)
{
t–;
if(mn)
*t=’\0′;
//把超過長度n的都變成結束符’\0′
}
return
t;
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/301574.html