當前位置:首頁 » 編程語言 » c語言用函數實現字元串復制
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言用函數實現字元串復制

發布時間: 2022-07-20 12:16:01

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語言字元串的復制

1、首先需要建立一個新的文件,輸入頭文件和主函數。

③ C語言編程找一個字元串復制函數

並沒有這樣的函數吧。
你先用一個循環把前面你要復制到s1裡面的保存在一個字元串裡面,
然後把後面的復制到另外一個字元串裡面。
然後用strcpy函數將進行字元串的拷貝。
思路是這樣的
希望對你有用

④ 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語言題目 用函數調用方式,實現字元串的復制。 要求如下

#include <stdio.h>
void string_(char *str_to,const char *str_from)
{
while(*str_to++=*str_from++);
}
int main()
{
char array_str1[80],array_str2[80];
gets(array_str1);
string_(array_str2,array_str1);
puts(array_str2);
return 0;
}

⑥ 編寫C語言程序:要求通過函數實現字元串的復制功能

#include<stdio.h>
voidmstrcpy(char*t,char*s){while(*s)*t++=*s++;*t=0;}
voidmain(){charstr1[256],str2[256];
gets(str2);mstrcpy(str1,str2);printf("%s ",str1);
}

⑦ C語言編寫函數:字元串的復制

你這個拷貝函數里怎麼沒有主函數里的n來判斷哪些拷貝過來?
我加了個n,把原來的n改成了m,再加了兩條語句,其他的沒動,代碼如下:
#include<stdio.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;m>0;m--)
{
t--;
if(m>n)
*t='\0';
//把超過長度n的都變成結束符'\0'
}
return
t;
}

⑧ 用c語言寫一個字元串拷貝函數

*q='\0';
return
*q;
所以函數返回的是『\0』。然後主函數裡面你的printf列印輸出的是函數的返回值而不是num這個數組,你把%s後面的參數改成num就行了。

⑨ C語言 實現字元串復制函數,函數名為_str

#include <stdio.h>

int _str(char *src, char *dst)
{
if(!src || !dst)
{
return -1;
}

while(*src!='\0')
{
*dst++ = *src++;
}
*dst = '\0';

return 0;
}

int main()
{
char *s1 = "hello world";
char s2[512] = {0};

_str(s1, s2);

printf("%s", s2);

return 0;
}