c语言连接问题char*p1="abcd",*p2"ABCD",
//原码等价于:
char *p1="abcd";
char *p2="ABCD"; //你原码这里少了个=号
char str[50]="xyz";
//上面相当于定义了3个字符串,p1,p2是常量字符串,str是字符串数组
strcpy(str+2,strat(p1+2,p2+1));//这句有问题,strat应该是strcat吧?
//而且字符串常量指针也不能这样操作啊
printf ("%s",str); //打印新的str字符串数组
C语言问题请教若有语句:chara7-="abcdef",b
a[5]还是f
原来的a:
a b c d e f \0
strcpy后的a:
A B E \0 e f \0
strcpy的这种用法是把b里字符串长度的内容复制到a第0个元素开始的相应位置上。所以a里只有前4位会改变。
c程序中strcpy是什么意思?
1、strcpy函数,接受两个参数str1和str2,主要用来复制字符串的,strcpy(str1,str2)的意思就是把str2这个字符串复制给str1字符串。接下来介绍用法,准备一个c语言的程序文件,首先写入头文件和主函数:
2、接着定义两个数组a和b,下面使用strcpy函数将c数组中的字符串复制到a数组中,打印出的结果最后用printf函数输出,最后打印出两个数组的内容:
3、最后打开调试窗口,就会看到看到复制后的结果了,打印出的结果是一样的一句话:
strcpy(str1,str2);
str1,str2是两个字符串数组的数组名
这句语句就是把str2这个字符串复制给str1
理解起来的话就等于是str1[]=str2[];strcpy是字符串复制函数,strcpy(a,b)就是将字符串b的内容全部复制到字符串a中,使用这个函数时要注意字符串拥有的空间至少要和b字符串相等,否则会出错。原型声明:extern char *strcpy(char *dest,char *src);
头文件:string.h
功能:把src所指由NULL结束的字符串复制到dest所指的数组中。
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
[编辑本段]
/**********************
* C语言标准库函数strcpy的一种典型的工业级的最简实现
* 返回值:
* 返回目标串的地址。
* 对于出现异常的情况ANSI-C99标准并未定义,故由实现者决定返回值,通常为NULL。
* 参数:
* strDeatination
* 目标串
* strSource
* 源串
***********************/
char *strcpy(char *strDestination, const char *strSource)
assert(strDestination && strSource);
char *strD=strDestination;
while ((*strDestination++=*strSource++)!='\0');
return strD;
}字符串复制,strcpy(a,b);
就是把字符串b复制到字符串a中去
c语言中的strcpy什么意思,简单点解释
字符串复制
strcpy(str1, str2);
把str2的字符串复制到str1中,这两个都是地址原型:extern char *strcpy(char *dest,char *src);
用法:#include
功能:把src所指由null结束的字符串复制到dest所指的数组中。
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
char *strcpy(char *strdest, const char *strsrc);
assert((strdest!=null) && (strsrc !=null));
char *address = strdest;
while( (*strdest++ = * strsrc++) != ‘\0’ )
null ;
return address ;
(以下来自preason)
以下是我自己编辑的strcpy的函数源程序!
大家可以直接复制到c语言中直接使用:
#include
#include
char mystrcpy(char str3[100],char str4[100])
int i,j;
j=strlen(str4);
for(i=0;*(str4+i)!='\0';i++)
*(str3+i)=*(str4+i);
*(str3+i)='\0';
printf("%s",str3);
main()
char str1[100];
char str2[100];
printf("str1:\n");
scanf("%s",&str1);
printf("str2:\n");
scanf("%s",&str2);
mystrcpy(str1,str2);
system("pause");
return 0;