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 的 详细用法。
头文件: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的主要内容,如果未能解决你的问题,请参考以下文章