c語言字元串拷貝
① 自定義c語言字元串拷貝函數strcpy
/*
原 串 : Windows Application
目標團陵串 : Windows Application
請按任意鍵繼續. . .
*/
#include <stdio.h>
#include <孫簡stdlib.h>
char *str(char ds[], char ss[]) {
int i = 0;
while(ds[i] = ss[i]) ++i;
return ds;
}
int main() {
char s[] = "Windows Application";
char d[20];
printf("原 串 : %s\n",s);
printf("目標塌凱戚串 : %s\n",str(d,s));
system("pause");
return 0;
}
② C語言問題:將字元串a復制到字元串b中
將字元串a復制到字元串b中,簡單的方法是使用strcpy函數;
頭文件:#include
定義函數:char
*strcpy(char
*dest,
const
char
*src);
函數說明:strcpy()會將參數src
字元串拷貝至參數dest
所指的地址。
返回值:返回參數dest
的字元串起始地址。
附加說明:如果參數
dest
所指的內存空間不夠大,可能會造成緩沖溢出(buffer
Overflow)的錯誤情況,在編寫程序時請特別留意,或者用strncpy()來取代。
範例
#include
#include
void
main()
{
char
a[30]
=
"first
string(1)";
char
b[]
=
"another
string(2)";
printf("before
strcpy()
:%s\n",
a);
printf("after
strcpy()
:%s\n",
strcpy(a,
b));
}
也可以使用循環來復制:
#include
void
main()
{
int
i;
char
a[30]
=
"first
string(1)";
char
b[]
=
"another
string(2)";
printf("before
:
%s\n",
a);
for(i=0;b[i];i++)a[i]=b[i];
//復制除'\0'以外的每一個字元
a[i]='\0';
//置串尾標記'\0'
printf("after
:
%s\n",
a);
}
③ 怎樣用字元指針實現兩個字元串的拷貝,求c語言程序
int *p *q
將設將q中的復制到p中
while(*q!='