c 语言 strcpy

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c 语言 strcpy相关的知识,希望对你有一定的参考价值。

#include<iostream>
#include<string>
main()
char str[5];string m;string *p;
cin>>str;
cout<<str<<endl;
p=&m;
strcpy(p,str);
cout<<*p;

求strcpy 的 详细用法。

参考技术A 原型声明: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 *cp=strDestination;
while(*cp++ = *strSource++);
return strDestination;

希望对你有帮助
参考技术B strcpy就是个函数啊!
你指的详细用法是不是strcpy这个函数的具体内容?
一般编译平台里我们是看不到库函数的具体内容,只知用法。
但我们自己也是可以编的!
在你的程序中p,str的类型不一样!
对于string,可以用'='直接复制;
对于char只能用strcpy!本回答被提问者采纳
参考技术C 就是把str复制到p

c语言的strcpy函数

strcpy是用于复制字符串的函数

 1 #include <stdio.h>
 2 #include <string.h>
 3 int main(void)
 4 
 5     char s[20]="abcdefg",*p="ABC";
 6     int i=0;
 7     strcpy(s+2,p);
 8     printf("%s\n",s);
 9     for(;i<7;i++)
10       printf("%c",s[i]);
11     
12 

上面这个程序输出的结果为

//abABC
//abABCg

为什么输出字符串%s时s是abABC,而输出字符%c时s是abABCg呢

因为strcpy函数本身的性质:复制字符串直到’\0’结束符为止,并且连同结束符一起复制到s中;因此内存中存储到s实际上是abABC\0g但是由于字符串的特性是输出到结束符结束,所以输出的结果为abABC;而循环输出字符时则是abABCg,是实际内存储存的s内容。

以上是关于c 语言 strcpy的主要内容,如果未能解决你的问题,请参考以下文章

c语言中strcpy跟mencpy哪个效率更高?

c语言strcpy将一个结构体的数据复制到另一个后,出问题了

c 语言 strcpy

C语言 strcpy_s 函数

C语言--strcpy()函数

memcpy在C语言中的含义,与strcpy区别