⑴ c語言實現字元串拷貝函數的幾種方法
首先是使用庫函數
比如下面代碼
void ourStrCopy(char S1[] , char S2[]){ strcpy(S1, S2); //該函數還有另一個版本可以按長度截取 }
還有一個函數是memcpy,這個是內存拷貝,原型是
void memcpy(void *dest, const void *src, size_t n); 需要注意的是這個函數第一個和第二個指針都是void型且第二個指針不能被修改,第三個參數是需要拷貝的內存長度按位元組記。
然後是用指針引用,注意這個並非賦值,而是引用,這種操作需要注意內存。
char s1[] = "abcdefg";//定義一組字元串char *s2 = s1;//按照指針拷貝字元串
第三種方法就是直接賦值了
void outStrCopy(char s1[] , char s2[]){ int len1 = strlen(s1);//獲取第一個字元串的長度 int len2 = strlen(s2);//獲取第二個字元串的長度 int len = 0; //字元串總長度 if(len1 <= len2){ len = len2; //選擇COPY的長度 }else{ len = len1; } for(int i = 0 ; i < len ; i++){ s1[i] = s2[i]; //實現數據拷貝 }}
⑵ C語言呢調用命令
添加斷點監視看看你手動輸入的地址是否和你固定的地址一樣,比較差異。不可能會是固定可以,手動就不可以了。
⑶ 在C語言中使用函數system(" y.exe c:\\")
是這樣的:
system函數是一個運行DOS命令的函數
system(char *s) s就是要運行的命令。
y.exe c:\ 是將當前目錄下的y.exe復制到c:\下
當原文件不存在時出現提示
Invalid data 說明並沒有原文件也就是沒有y.exe這個文件。
⑷ C語言表示拷貝的命令
用 system("COPY ....."); 調DOS COPY 命令就可以。路徑 的單 \ 用 雙 \\ 表示。
例如:
system("COPY abc.txt data\\abc.txt");
⑸ 在C語言中怎樣實現文件的復制
可以利用系統命令行來解決這個問題,程序如下
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
system(" d:\\file1.txt e:\\file1.txt");
return 0;
}
根據實際需要更改路徑和文件名即可
⑹ 在C語言中復制粘貼是按
windows環境就是:ctrl+c復制,然後ctrl+v粘貼
linux環境:用滑鼠劃選你要復制的區域後滑鼠右鍵選復制,然後按上檔鍵+insert按鍵進行粘貼
⑺ c語言拷貝文件的代碼
system(" D:\\a\\123.exe D:\\b\\123.exe");
用system 調DOS復制命令。單斜杠用雙斜杠。
同名時,也可以用 *.*
system(" D:\\a\\123.exe D:\\b\\*.*");
---
文件讀寫方法復制,要用 "b" (二進制方法打開),一個位元組一個位元組讀寫並檢查是否到了EOF,到了則關閉文件不再寫。
⑻ 請問C語言里str_具體怎麼使用
是strcpy吧
原型聲明:extern char *strcpy(char dest[],const char *src);
頭文件:#include <string.h>
功能:把從src地址開始且含有NULL結束符的字元串復制到以dest開始的地址空間
說明:src和dest所指內存區域不可以重疊且dest必須有足夠的空間來容納src的字元串。
返回指向dest的指針
#include <stdio.h>
#include <string.h>
int main(void)
{
char str1[10];
char str2[]="Hello,Word";
strcpy(str1,str2);//把str2復制到str1,大意是:str1=str2//但是這樣寫在C語言是錯的
printf("str1=%s\n",str1);
return 0;
}
⑼ C語言, A B文件中的內容
#include <stdio.h>
int main(int argc, char * argv[])
{
FILE * fa, *fb; char c; int r ;
if(argc < 3) {
fprintf(stderr, "usage: %s [file A] [file B]\n", argv[0]);
return 0;
}/*end if*/
fa = fopen(argv[1], "rb");
if(!fa) {
fprintf(stderr, "File A %s open failed.\n", argv[1]);
return 1;
}/*end if*/
fb = fopen(argv[2], "wb");
if (!fb) {
fprintf(stderr, "File B %s open failed.\n", argv[2]);
fclose(fa);
return 2;
}/*end if*/
while(!feof(fa)) {
r = fread(&c, 1, 1, fa);
if(r<1) break;
c = ((c >='A') && (c <='Z'))?c + 'a' - 'A': c;
fwrite(&c, 1, 1, fb);
}/*end while*/
fclose(fa); fclose(fb);
return 0;
}
⑽ 用C語言實現文件拷貝
兩種方法:
1. 用c語言的文件操作:讀出文件argv[1]的內容,再把讀出的內容寫入到文件argv[2]中
2. 使用函數system來執行dos中的文件拷貝命令
char command[100]=" ";
strcat(command, argv[1]);
strcat(command," ");
strcat(command,argv[2]);
system( command );