c語言中,把一個變數的內容復制到另一個變數怎麼做

非字元串類型使用=賦值。
字元串類型使用STRCPY函數

❷ C語言怎樣實現自我復制

#include "Windows.h" //以下函數得包含此頭文件int main(){
char szPath[MAX_PATH]; //保存自身文件名的字元串
char toPath[MAX_PATH] = "C:"; //要復制到的路徑字元串
int i;
GetMoleFileNameA(NULL,(LPCH)szPath,225); //獲取自身路徑的函數 for (i = strlen(szPath); i > 0; i--) //獲取文件名的處理,就我所知,VC沒有獲取文件名的函數,要自己處理;BCB就有
{
if (szPath[i] == '\\') //最後一個『\』後面就是文件名
break;
}
strcat(toPath,&szPath[i]); //把文件名連接到toPath,得到「C:\*.exe」
for (char ch = 'c'; ch <= 'f'; ch++) //復制處理,從c到f
{
toPath[0] = ch; //改盤符
CopyFileA(szPath,toPath,false); //復制函數,從szPath復制到toPath,強行覆蓋原有文件
}
return 0;
}

❸ c語言文件復製程序

直接用c語言的
system(....)
調用
DOS



x
命令就可以,目標文件夾你願意
鍵盤輸入也可以。
把具體的命令字元串
放在
char
cmd[300];
里。(用strcpy,strcat,sprintf
生成)
system(cmd)
;
就執行樂。
同樣:
system("bot.exe")
;
就運行"bot.exe"。
不會DOS



x
命令,可以查
幫助文件:
DOS窗里


/?
DOS窗里

x
/?
閱讀吧。

❹ 如何實現C語言中復制文件的程序

1 以只讀方式打開第一抄個文件

2 以寫方式打開第二個文件

3 循環讀取字元,並寫入第二個文件。直到遇到EOF結束。

4 關閉文件。


代碼

#include<stdio.h>
intmain()
{
FILE*f1,*f2;
intc;
f1=fopen("in.txt","rb");
f2=fopen("out.txt","wb");//將in.txt復制為out.txt;
while((c=fgetc(f1))!=EOF)
fputc(c,f2);
fcloseall();

return0;
}

❺ 程序怎麼自我復制(C語言)

用main函數的argv[0]參數獲取程序本身路徑
然後用system函數執行命令
system(" [path1] [path2]");
path1就是程序本身路徑,path2就是你要復制的結果目標文件的路徑
不過因為system函數的參數必須是一個字元串,所以使用前要把、路徑1、路徑2這三個字元串拼接成一個包含完整命令的字元串
———————————————————————————————————————————
比如要把你的程序本身復制到C盤根目錄下:
#include <stdio.h>
#include <windows.h>
#include <string.h>
int main(int argc,char *argv[])
{
char *myfilepath = argv[0];
char *mubiaofilepath = "c:\\mubiaowenjian.exe";
char command[1000] = " ";
strcat(command,myfilepath);
strcat(command," ");
strcat(command,mubiaofilepath);
system(command);
return 0;
}
這樣就可以了

注意,這種方法,如果程序文件本身路徑中包含一些特殊字元,運行時可能會找不到路徑
———————————————————————————————————————————
或者用C語言標准庫自帶的文件操作函數也可以:
#include <stdio.h>
#include <stdlib.h>
#define BUFFER_SIZE 1024
int main(int argc,char *argv[])
{
FILE *f1 = fopen(argv[0],"rb");
FILE *f2 = fopen("mubiaowenjian.exe","wb+");
char buffer[BUFFER_SIZE];
int readnum;
while( !feof(f1) )
{
readnum = fread(buffer,1,BUFFER_SIZE,f1);
fwrite(buffer,1,readnum,f2);
}
fclose(f1);
fclose(f2);
return 0;
}

大致原理是:因為系統中的所有文件都是以二進制格式保存的,所以用fopen函數以二進制形式打開文件,就可以對任何格式的文件進行讀寫操作
復制就是,把源文件中的所有二進制代碼復制到另一個空文件中

程序的代碼實現是:在自己想要的路徑上創建一個空文件,然後把源文件中的二進制代碼全部寫入到這個文件中,這樣就實現了復制
——————————————————————————————————————————
補充一下,操作系統對運行時文件進行保護,是指,一般情況下,對「寫」操作有限制,但並不會影響「讀」操作;
比如,同一個exe文件是可以同時打開(讀)多個的,但運行時無法對其進行修改、刪除(寫)等操作
所以fopen函數不用"w"模式打開文件的話是可以進行操作的

❻ C語言---如何復制任意文件

C語言復制文件主要由三種辦法,你可以根據自己的知識選用一個

方法1)利內用C語言的二進制讀寫容函數
自己用fopen打開源文件和目標文件,然後用循環讀寫實現復制

方法2)利用操作系統的文件復制函數
例如Windows就有如下API函數可以復制文件
BOOL CopyFile(
LPCTSTR lpExistingFileName, // name of an existing file
LPCTSTR lpNewFileName, // name of new file
BOOL bFailIfExists // operation if file exists
);
第一個參數是用來存放當前要處理文件的路徑。
第二個參數是用來存放用戶指定的新路徑。
第三個參數它是用來判斷用戶指定的新路徑是否已經存在要存放的路徑,如果為TRUE,則新路徑中已經存在該文件了,該函數調用失敗,否則就調用成功。

方法3:C語言調用操作系統的命令
首先#include<stdlib.h>

然後 程序中 調用 system(「這里寫 的完整命令」);

❼ C語言中如何復制數組的內容

C語言中復制數組的內容源代碼如下:

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

#define SIZE 10

void show_array(const int ar[], int n);

int main()

{

int values[SIZE] = {1,2,3,4,5,6,7,8,9,10};

int target[SIZE];

double curious[SIZE / 2] =

{2.0, 2.0e5, 2.0e10, 2.0e20, 5.0e30};

puts("memcpy() used:");
puts("values (original data): ");
show_array(values, SIZE);
memcpy(target, values, SIZE * sizeof(int));
puts("target ( of values):");
show_array(target, SIZE);
puts(" Using memmove() with overlapping ranges:");
memmove(values + 2, values, 5 * sizeof(int));
puts("values -- elements 0-5 copied to 2-7:");
show_array(values, SIZE);
puts(" Using memcpy() to double to int:");
memcpy(target, curious, (SIZE / 2) * sizeof(double));
puts("target -- 5 doubles into 10 int positions:");
show_array(target, SIZE/2);
show_array(target + 5, SIZE/2);
system("pause");
return 0;
}
void show_array(const int ar[], int n)
{
int i;
for (i = 0; i < n; i++)
printf("%d ", ar[i]);
putchar(' ');
}

(7)克隆c語言擴展閱讀

1、C語言編程中,將常用的操作封裝成函數進行調用,可以大大簡化程序的編寫,而且在代碼的維護性及可讀性方面也提供了便利。

2、不同地方需要對處理後的數組內容多次進行顯示,並且很多情況下並非顯示數組裡面的全部內容,而僅僅是想觀察數組中的部分數據內容,若每次顯示時都用printf函數寫的話,可以寫一個自定義的通用函數,用來根據需要顯示數組中的內容。

❽ C語言如何復制數組

int (double *a,double *b,double *c,int n)//a是輸入數組
{
int i;
for(i=0;i<n;i++)
{
b[i]=a[i];
*(c+i)=*(a+i);
}
}

直接手敲的,手上沒C,供參考。

❾ c語言,求代碼,直接能復制到cb強的那種,不然復制很麻煩

#include<stdio.h>
#include<string.h>
intmain()
{
chars[60];
while(~scanf("%[^ ]%*c",s))
{
if(strchr(s,'A')&&strchr(s,'C')&&strchr(s,'M'))
printf("^v^ ");
else
printf("== ");
}
return0;
}