strcpy

阅读 / 问答 / 标签

编C语言程序:用自定义函数实现字符串处理函数strcat、 strcpy、strcmp、strlen和strlwr的功能

呵呵!昨天刚答过,不会是作业吧!http://zhidao.baidu.com/question/7908569.htmlvoid strlwr(char s[]){int i;for(i=0;s!="";i++) if(s>="A"&&s<="Z")s=s+32;}

求高手帮忙注释下下面程序,这两句是什么意思,不懂。strcpy(a+1,b+2); puts(strcat(a,c+1));希望详细点

查api吧!!!网上下个api吧!!!但是可以说一下是什么意思strcpy是字符串复制函数puts是字符串输出函数strcat是连接函数

C语言编程:用自定义函数实现字符串处理函数strcat、 strcpy、strcmp、strlen和

void strcat(char s1[],char s2[]){int i,j; for(i=0;s1[i]!="";i++); for(j=0;s2[j]!="";j++) s1[i++]=s2[j]; s1[i]="";}void strcpy(char a[],char b[]){ int i=0,j=0; while((a[i++]=b[j++])!="");}int strcmp(char s1[],char s2[]){int i;for(i=0;s1[i]!=""&&s2[i]!="";i++){ if(s1[i]>s2[i]) return 1; else if(s1[i]<s2[i]) return -1;}if(s1[i]==""&&s2[i]=="") return 0;else if(s1[i]=="") return -1;else return 1;}int strlen(char s[]){ int len=0 ,i; for(i=0;s[i]!="";i++) len++;return len;}

strcpy(str+2,strcat(p1,p2))啥意思。

char *p1="ab";char *p2="cd";strcat(p1,p2);如果在函数里面这些,运行会报错的,根本得不到想要的结果的;具体错误的原因如下:原型:extern char *strcat(char *dest,char *src);src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。简单的说就是:p1指向文字常量区,是只读的, 把p1改成数组形式就可以了就是p1不可以是指针,改成数组就可以了

函数调用strcat(strcpy(strl,str2),str3)的功能是(  )。

【答案】:CC。【解析]strcat(sl,s2)函数的功能是把s2字符串连接到sl字符串末尾,strcpy(sl,s2)是把s2字符串复制到sl字符串,要保证sl的容量。

c++中,strcpy()和strcat(),str+2又是什么意思?

答案选C。strcpy()是复制字符串。strcat()是把两个字符串连接起来。str+2,这个是把数组当成指针用。str指向的是数组里的第一个元素,str+2指向数组里第三个元素,也就是字母z。C/C++里的数组跟指针很相似的。如果不明白就去翻翻书吧。strcpy(str+2,strcat(p1,p2));这整句的意思就是:先把p1和p2连起来,得到abcABC,然后把这个字符串复制到str+2所指向的位置。所以结果是xyabcABC。

C语言-strcpy与strcat的用法

1、用b+2中的值替换a+1中的值,a、b都是字符数组,b+2的值是h,而a+1的值是bcde,所以结果是ah 2、原型:extern char *strcat(char *dest,char *src); 用法:#include <string.h> 功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的"")并添加""。所以结果是agood

关于strcpy、strcat的用法

strcpy()是字符串复制函数。连字符串的结束标志‘"一同复制。对于strcpy(a+1,b+2);中的b+2则是数组里的“h”的首地址。a+1则是数组里的“bcde”的首地址。即此函数的意义是:把“h”复制到“bcde”的位置。字符串遇到‘"结束即结果是:ah。对于strcat(s[0],s[1]);中的二为数组可以看成是多个一维数组组成的。所以s[0]代表的是“a”的首地址,s[1]代表的是“good”的首地址。这是字符串连接函数。即把good放到了a的后面。结果是:agood。

C语言中strcat和strcpy的区别

一、功能不同1、strcat:字符串复制。把从src地址开始且含有""结束符的字符串复制到以dest开始的地址空间。2、strcpy:把两个字符串连接起来,把src所指字符串添加到dest结尾处。二、用法不同1、strcat:char *strcpy(char* dest, const char *src)。2、strcpy:extern char *strcat(char *dest,char *src)。三、规定不同1、strcat:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。返回指向dest的指针。2、strcpy:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。参考资料来源:百度百科-strcpy参考资料来源:百度百科-strcat

c++中,strcpy()和strcat(),str+2又是什么意思?

字符串复制函数strcpy函数原型:strcpy(char[],constchar[]);strcpy的作用是将第二个字符数组中的字符串复制到第一个字符数组中去,将第一个字符数组中的相应字符覆盖。例如:charstr1[10],str2[]="china";strcpy(str1,str2);执行后,str2中的5个字符"china"和""(共6个字符)复制到数组str1中。str1[10]="china";字符串连接函数strcat函数原型strcat(char[],constchar[]);strcat的作用是将第二个字符数组中的字符串连接到前面的字符串后面。例如:charstr1[30]="Peopleis";charstr2[]="china";strcat(str1,str2);执行结果Peopleischina;str+2是地址,指向str后的第二个元素,就是向右移2位

strcpy函数与strcat区别

1、strcat是用来连接两个字符串的,原型是char *strcat(char *dest,char *src),作用是把src所指字符串添加到dest结尾处(覆盖dest结尾处的"")并添加""。2、strcpy是用来把字符串拷贝到指定的地方的,原型是char *strcpy(char *dest,const char *src),作用是把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间。3、注意strcat是从dest的结尾处开始操作的,而strcpy是直接覆盖dest指向的内容。

函数调用:strcat(strcpy(str1,str2),str3)的功能是

cC) 将串str2复制到串str1中后再将串str3连接到串str1之后

c++中,strcpy()和strcat(),str+2又是什么意思?

字符串复制函数strcpy函数原型:strcpy(char[],constchar[]);strcpy的作用是将第二个字符数组中的字符串复制到第一个字符数组中去,将第一个字符数组中的相应字符覆盖。例如:charstr1[10],str2[]="china";strcpy(str1,str2);执行后,str2中的5个字符"china"和""(共6个字符)复制到数组str1中。str1[10]="china";字符串连接函数strcat函数原型strcat(char[],constchar[]);strcat的作用是将第二个字符数组中的字符串连接到前面的字符串后面。例如:charstr1[30]="Peopleis";charstr2[]="china";strcat(str1,str2);执行结果Peopleischina;str+2是地址,指向str后的第二个元素,就是向右移2位

c语言中strcpy,strcat什么意思?

strcat的用法:http://baike.baidu.com/link?url=fNh_sXIr_PJjvPzolxCsrx7jB-gJmcev5B2xbnOuZMNc96lvE5blC5oi4W-IUn4H0DVHpgoA3PXe32c390XdxKstrcpy的用法:http://baike.baidu.com/link?url=LzfiNzZpb1KlgjQtNzYdpmfK0-htZK1e25OK8g8igQ8zthDKznQy7FxtySS2dY3b1VrLQieMaJpG28clV1fd0K

C语言strcat和strcpy的不同

不一样啊比如a和b两个字符数组cat是连接的,也就是将b的内容添加到a的后面。a的内容还保留在a的前面。而cpy是复制,也就是将b的内容覆盖掉a的内容。a的内容不能保留了。

C语言中strcat和strcpy的区别

strcat与strcpy作用反了

c语言strcpy()用法

Example// crt_strcpy.c/* This program uses strcpy * and strcat to build a phrase. */#include <string.h>#include <stdio.h>int main( void ){ char string[80]; // Note that if you change the previous line to // char string[20]; // strcpy and strcat will happily overrun the string // buffer. See the examples for strncpy and strncat // for safer string handling. strcpy( string, "Hello world from " ); strcat( string, "strcpy " ); strcat( string, "and " ); strcat( string, "strcat!" ); printf( "String = %s ", string );}OutputString = Hello world from strcpy and strcat!这是MSDN上的例子,函数不会用,可以去查MSDN,应该学会使用MSDN

C++函数 strcpy可只复制字符串的前若干个字符不?

函数不是这个啊 是 strncpy 你少了个N

Linux c strcpy应包含在什么头文件

string.h

数组用strcpy赋值

char No[3][2]; 至少是2, 有个null要存for(i=0;i<3;i++)strcpy(No[i],sNo);

C语言,这个函数有法儿读吗?怎么读?就是strcpy和strcnpy,用语音或汉语拼音或汉字译音告

strcpy就是string copy的缩写,strncpy就是加一个数字表示拷贝大小而已

strcpy用于unsigned char *出错

.............strcopy的参数是char *给你个函数吧int StrCopyEx (void* pstFrom ,void* pstTo){if (pstFrom == NULL || pstTo == NULL)return -1 ;unsigned char* pstF = (unsigned char*) pstFrom ;unsigned char* pstT = (unsigned char*) pstTo ;while (*pstT++ = *pstF++) ;return 0 ;}当然memcopy才是王道其实你这样就行了#define STRCOPY(pstFrom ,pstTo) strcopy ((char*) (pstFrom) ,(char*) (pstTo))以后用STRCOPY

C语言微软安全函数问题(strcpy()函数)

就是说,你可以接着使用strcpy这个函数,但是它在后续的CRT版本中将逐渐被弃用,所以最好使用安全版本的strcpy_s代替它,如果仍要使用,可以使用预编译宏_CRT_SECURE_NO_WARNINGS来屏蔽这个警告。关于strcpy_s的使用参考微软的文档说明:网页链接

C++ strcpy()怎么用??

需要使用的是 strncpy这个可以指定拷贝字符的长度,指定源地址,目标地址,还有需要拷贝的字符的长度; strcpy只能传入两个参数,只指定拷贝的起始地址跟目标地址,然后整体拷贝。

+谁给我说说 strcpy strncpy strcat strncat 区别别写百度的看不懂,详细点。初学c++

strcat是把两个字符串连接在一起,把第二个字符串接到第一个字符串的后面strncat是第二个字符串的前n位接到第一个字符串的后面strcpy是覆盖,即把第二个字符串覆盖到第一个字符串上(从第一个字符串的第一位开始替换成第二个字符串的内容)strncpy是把第二个字符串的前n位覆盖到第一个上

关于strcpy和strncpy的一些问题

是strcpy

strncpy中的数组1可以是一个字符串常量吗?为什么strcpy的数组1不能是字符串常量呢

修改字符串字面量是几个意思啊。。

解释strcpy 和strncpy 的差别在哪里,各自的优缺点是什么

strcpy 和strncpy 的差别在于:前者复制整个指定的字符串,后者只复制指定字符串中指定数目的字符。strcpy 比较简单,而使用strncpy 可以适当地控制复制字符的数目,因此比strcpy 更为安全。

C/C++中strcpy和strncpy的区别

strcpy 复制到字符串结束符为止。strncpy比strcpy多了一个参数n,当复制数量达到n或者遇到这两个都会导致复制结束。所以 strncpy可以确保不会溢出,更安全一些。

strcpy和strncpy的区别

char*strncpy(char*strDest,constchar*strSource,size_tcount);char*strcpy(char*strDestination,constchar*strSource);两者功能基本一样。不同之处在于,strncpy多一个参数count,即复制的字节数

解释strcpy 和strncpy 的差别在哪里,各自的优缺点是什么

第一种情况:char* p="how are you ?";char name[20]="ABCDEFGHIJKLMNOPQRS"; strcpy(name,p); //name改变为"how are you ? OPQRS " ====>错误!strncpy(name,p,sizeof(name)) //name改变为"how are you ? " ====>正确!第二种情况:char* p="how are you ?";char name[20];strcpy(name,p); //name改变为"how are you ? 未知字符 " ====>错误!name[sizeof(name)-1]="/0" //和上一步组合,得到正确的结果!strncpy(name,p,sizeof(name)); //name改变为"how are you ? " ====>正确!第三种情况:char* p="how are you ?";char name[10];strcpy(name,p); //name改变为"how are yo" ====>无结束符"/0",错误!name[sizeof(name)-1]="/0" //和上一步组合,弥补结果。但要注意,字符传递错误!strncpy(name,p,sizeof(name)); //和单纯的一步strcpy结果一样!总结:strcpy如果源长>目标长,则将源长中等于目标长的字符拷贝到目标字符串如果源长<目标长,则源长全部拷贝到目标字符串,不包括"/0"strncpy如果目标长>指定长>源长,则将源长全部拷贝到目标长,自动加上"/0"如果指定长<源长,则将源长中按指定长度拷贝到目标字符串,不包括"/0"如果指定长>目标长,error happen!/***************************************************************************************************总结:strcpy(),以源串中的"/0"为拷贝结束标志,直到遇到该NULL为止,然后将NULL拷贝上.strncpy()以第三个参数N为拷贝结束标志,如果source的长度小于N,则剩余的字符全部用NULL填充. 如果source的长度大于N,则从source中截取前N个字符,拷贝过去

用了strcpy和memcpy运行会出问题 定义了一个char* hello[3]数组

你需要声明 char hello[3][3]; 或要声明 char *hello[3]={"12","34","56"}; 这样 hello 才有字符串存放单元。不要定义为 中文字符“一二”“三四”“五六”,中文字符 一个字至少要占2个字节,[3] 搁不下 2个中文字。 另外,你的编译器必须支持中文才行。中文编码繁杂,初学c语言者 不值得花时间 到中文上去,它们是2种学问。例子程序如下:#include <stdio.h> main(){int i;char *hello[3]={"12","34","56"};for (i=0;i<3;i++) puts(hello[i]); puts("----");strcpy(hello[2],"mm"); //改变 "56" 成 mmfor (i=0;i<3;i++) puts(hello[i]); puts("----");memcpy(hello[1],"gg",3); //改变 34 成 ggfor (i=0;i<3;i++) puts(hello[i]); puts("----");return 0; }

完成字符串拷贝可以使用 sprintf、strcpy 及 memcpy 函数,请问这些函数有什么区别

可能速度上有区别吧,memcpy应该最快

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

1:区别memcpy可以拷贝任何数据类型的对象,指定拷贝的数据长度。strcpy只能拷贝字符串了,它遇到""就结束拷贝memcpy()充分利用了机器字长为32位的特性(32位系统,一次内存读/写可操作4字节的数据, 对于64位系统,则一次可操作8字节数据)。先按4字节一组(movsl)拷贝,共复制n/4次;对剩下的零头再逐字节拷贝。如果支持,memcpy()还可以使用了MMX/SSE指令增加一次操作中的字节数,进一步提高效率。3:健壮性拷贝的缓冲区如果是非字符串,尽量用memcpy(),其实字符串使用memcpy也是很好的选择。你说的溢出可能是使用strcpy的结束问题或者是用memcpy指定的拷贝长度不对造成的

memcpy和strcpy的区别

strcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。已知strcpy函数的原型是:char* strcpy(char* dest, const char* src);memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。void *memcpy( void *dest, const void *src, size_t count );char * strcpy(char * dest, const char * src) // 实现src到dest的复制{if ((src == NULL) || (dest == NULL)) //判断参数src和dest的有效性{return NULL;}char *strdest = dest; //保存目标字符串的首地址while ((*strDest++ = *strSrc++)!=""); //把src字符串的内容复制到dest下return strdest;}void *memcpy(void *memTo, const void *memFrom, size_t size){if((memTo == NULL) || (memFrom == NULL)) //memTo和memFrom必须有效return NULL;char *tempFrom = (char *)memFrom; //保存memFrom首地址char *tempTo = (char *)memTo; //保存memTo首地址 while(size -- > 0) //循环size次,复制memFrom的值到memTo中*tempTo++ = *tempFrom++ ; return memTo;}strcpy和memcpy主要有以下3方面的区别。1、复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。2、复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符""才结束,所以容易溢出。memcpy则是根据其第3个参数决定复制的长度。3、用途不同。通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用memcpy

strcpy strcat strcmp strstr 怎么读?

这个单词是缩写,str是string的意思,cpy是copy的意思,cat的是意思是catenate ,

strlen,strcpy,strcat,strcmp,strstr各代表什么意思

strlen 计算字符串的长度strcpy 串拷贝strcat 串连接strcmp 串比较strstr 扫描给定子串在一字符串中出现的位置

strlen,strcpy等函数,参数可以是NULL吗?结果会怎样?

使用NULL参数,编译可以通过,运行时错误