C++语法,matlab strcat函数数

以下试题来自:
问答题常用字符串函数strcat(s1,s2)可将字符串s2添加到字符串s1的末端,但其使用必须保证字符串s1足够大,以便保存它自己的内容和字符串s2中的内容。请编写一个函数char*append(char*s1,char*s2),其可将字符串s2添加到字符串s1的末端,而且不受s1空间大小的限制。请利用常用字符串函数实现。
常用字符串函数说明:
strcpy(to,form):将form字符串复制到to字符串;
strcat(s1,s2):将字符串s2添加到字符串s1的末端,但必须保证字符串s1足够大;
strlen(s):返回字符串s的长度;
注意:部分源程序已存在文件test4_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数append的花括号中填写若干语句。
输出结果如下:
this is a string.
文件test4_2.cpp的内容如下:
#include<iostream.h>
#include<string.h>
char *append(char *s1,char *s2)
void main()
char *s,*s1,*s2;
s1="this is ";
s2=",a string.";
s=append(s1,s2);
cout<<s<< 参考答案
char *append(char *s1,char *s2)
length=strlen(s1)+strlen(s2);
为您推荐的考试题库
你可能感兴趣的试题
1.填空题 参考答案
(1)错误:T(int x){a=x;b+=x;)
正确:T(int x):a(x){b+=x;)
(2)错误:void display(T c)
正确:static......
热门相关试卷
最新相关试卷C语言中字符串常用函数strcat与strcpy的用法介绍
C语言中字符串常用函数strcat与strcpy的用法介绍
以下是对C语言中字符串常用函数strcat与strcpy的使用方法进行了详细的分析介绍,需要的朋友可以参考下
  strcpy原型声明:extern char *strcpy(char* dest, const char *src);
头文件:#include &string.h&
功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
函数实现:
复制代码 代码如下:
/**********************
* C语言标准库函数strcpy的一种典型的工业级的最简实现
* 返回值:目标串的地址。
* 对于出现异常的情况ANSI-C99标准并未定义,故由实现者决定返回值,通常为NULL。
* strDestination 目标串
* strSource 源串
***********************/
char *strcpy(char *strDestination,const char *strSource)
& assert(strDestination!=NULL && strSource!=NULL);
& char *strD=strD
& while ((*strD++=*strSource++)!='');
& return strD
GNU-C中的实现(节选):
char* strcpy(char *d, const char *s)
& char *r=d;
& while((*d++=*s++));
/* while((*d++=*s++)); 的解释:两层括号是为了取赋值表达式的值,
&&&&&& 而赋值表达式的值为左操作数,所以在复制NULL后,循环停止 */
strcat原型
extern char *strcat(char *dest,char *src);
#include &string.h&
在C++中,则存在于&cstring&头文件中。
把src所指字符串添加到dest结尾处(覆盖dest结尾处的'')并添加''。
src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
函数实现:
复制代码 代码如下:
//将源字符串加const,表明其为输入参数
char *strcat(char *strDest, const char *strSrc)
& // 后文return address,故不能放在assert断言之后声明address
& char *address = strD
& assert((strDest != NULL) && (strSrc != NULL)); //对源地址和目的地址加非0断言
& while(*strDest)&&&&&&&&&&&& //是while(*strDest!='')的简化形式
&&& //若使用while(*strDest++),则会出错,因为循环结束后strDest还会执行一次++,
&&& //那么strDest将指向''的下一个位置。/所以要在循环体内++;因为要是*strDest最后指
&&& //向该字符串的结束标志''。
&&& strDest++;
& while(*strDest++ = *strSrc++)
&&& NULL;&&&&&&&&&&&& //该循环条件内可以用++,
& }&&&&&&&&&&&&&&&&&& //此处可以加语句*strDest='';无必要
&&&&& //为了实现链式操作,将目的地址返回
H3C认证Java认证Oracle认证
基础英语软考英语项目管理英语职场英语
.NETPowerBuilderWeb开发游戏开发Perl
二级模拟试题一级模拟试题一级考试经验四级考试资料
港口与航道工程建设工程法规及相关知识建设工程经济考试大纲矿业工程市政公用工程通信与广电工程
操作系统汇编语言计算机系统结构人工智能数据库系统微机与接口
软件测试软件外包系统分析与建模敏捷开发
法律法规历年试题软考英语网络管理员系统架构设计师信息系统监理师
高级通信工程师考试大纲设备环境综合能力
路由技术网络存储无线网络网络设备
CPMP考试prince2认证项目范围管理项目配置管理项目管理案例项目经理项目干系人管理
Powerpoint教程WPS教程
电子政务客户关系管理首席信息官办公自动化大数据
职称考试题目
就业指导签约违约职业测评
招生信息考研政治
网络安全安全设置工具使用手机安全
3DMax教程Flash教程CorelDraw教程Director教程
Dreamwaver教程HTML教程网站策划网站运营Frontpage教程
生物识别传感器物联网传输层物联网前沿技术物联网案例分析
互联网电信IT业界IT生活
Java核心技术J2ME教程
Linux系统管理Linux编程Linux安全AIX教程
Windows系统管理Windows教程Windows网络管理Windows故障
组织运营财务资本
视频播放文件压缩杀毒软件输入法微博
数据库开发Sybase数据库Informix数据库
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&C++ 自定义strcat 函数。。_百度知道strcat()接受两个字符串参数。将第二个字符串的一份拷贝添加到第一个字符串的结尾,从而使第一个字符串成为一个新的组合字符串,第二个字符串不改变。
#include&stdio.h&#include&string.h&int&main(void){&&&&char&string1[<span style="COLOR: #];&&&&char&string2[]="goodbye";&&&&&&&&gets(string1);&&&&strcat(string1,string2);&&&&puts(string2);&&&&puts(string1);&&&&&&&&getchar();&&&&return&<span style="COLOR: #;}
以上程序将string2字符串的拷贝放到了string1的结尾。值得注意的是,string1在被使用strcat()函数之前,应该是已经初始化或者已经存储了一个字符串。因为如果字符串没有被初始化,string1[]里面元素的存储是一串随机值。strcat()需要找到string1的结尾(第一个出现的'\0'),然后去掉这个'0',最后把string2[]的拷贝放到string1[]最后一个值的后面。
strcat是俩个字符串的连接函数,使第一个字符串变为新的字符串,把两个字符串变为新的一个字符串&&&&自己写了个strcat()函数,,为什么会有问题??_c++吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:246,505贴子:
自己写了个strcat()函数,,为什么会有问题??收藏
代码比较简陋。。参数表里用字符指针和字符数组一点区别都没有。。void copygo(char *copied,char *tocopy,int sizecopied)
//将tocopy连接到copied后面,int是copied的大小{
int u=0,i=0;
//定义俩下标
while(a[u]) u++;
//确定粘贴的起始位置
for( u=u+1;u&sizea-1;)
a[u++]=b[i++];
//就是在这,,程序过不去!!!!!!!!!!!!!!!!
a[u]='\0';}
本身在原来的程序里面用strcat也会出错,,为找原因自己写了一个,,结果还是没解决。。==#还请大神们不吝赐教。。
因为… 传进来的是const char * ,你应该再定义一个指针指向首地址,用指针偏移
a b 都是什么啊。。。
for里面少分号
而且size的设置是不是有错误…
我们也有写
新手不懂,表示正在学
为了便于理解我把参数名改了确忘记后面了。。还不如copygo(char *a, char *b,int sizea)。。真伤心。。
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或}

我要回帖

更多关于 strcat函数用法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信