VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1059|回复: 2

[已解决]关于自己使用字符数组编写一个函数实现strcat函数

[复制链接]
03_avatar_middle
最佳答案
0 
在线会员 发表于 2020-4-2 22:00:06 | 显示全部楼层 |阅读模式
//"不用系统提供的strcat函数,自己使用字符数组编写一个函数,实现两个字符串的连接功能。"
#include "stdafx.h"
#include <iostream>
using namespace std;
int i = 0, j = 0, x =0, y=0;

char mystrcat(char des[], const char src[])
{
        x = strlen(des), y = strlen(src);
        for (i = 0; i <= x;i++)
        {
                if (des[i]=='\0')
                {
                        for (j = 0; j <= y;j++)
                        {
                                if (src[j]!='\0')
                                {
                                        des[i + j] = src[j];
                                }
                                else
                                {
                                        /*continue;*/
                                        break;
                                }
                        }
                       
                }
        }
        return des[i+j];
}
int _tmain(int argc, _TCHAR* argv[])
{
        char des[] = "I want to ";
        char src[] = "fly,fly. ";
        mystrcat(des, src);
        cout <<"des= "<< des << endl;
        return 0;
}
代码可以生成,但是调试时出现图片上的弹框,并且显示的结果也不是太符合,想请教大佬们是什么原因?该如何处理?
最佳答案
01_avatar_small
2020-4-2 22:23:52
楼主的目的是将 src 连接 到 des 上,也就是说将 mystrcat 函数的第2个参数的字符串连接到第一个参数的字符串尾部,这样就要求保证目标空间足够大,足够容纳得下第1个字符串和第2个字符串。

但是楼主的 des 数组空间并不大,或者说只装了 "I want to "; 这个字符串。将 des 的定义改成如下就可以了:
char des[50] = "I want to ";

代码可以生成,但是调试时出现以上弹框,并且显示的结果也不是太符合,想请教大佬们是什么原因?该如何处理 ...

代码可以生成,但是调试时出现以上弹框,并且显示的结果也不是太符合,想请教大佬们是什么原因?该如何处理 ...




上一篇:学到strcat时遇到一个疑问
下一篇:第八课 保留两位小数问题
01_avatar_middle
最佳答案
41 
online_admins 发表于 2020-4-2 22:23:52 | 显示全部楼层    本楼为最佳答案   
bestAnswer
楼主的目的是将 src 连接 到 des 上,也就是说将 mystrcat 函数的第2个参数的字符串连接到第一个参数的字符串尾部,这样就要求保证目标空间足够大,足够容纳得下第1个字符串和第2个字符串。

但是楼主的 des 数组空间并不大,或者说只装了 "I want to "; 这个字符串。将 des 的定义改成如下就可以了:
char des[50] = "I want to ";
03_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-4-3 10:45:52 | 显示全部楼层
一下就点醒我了,非常感谢!
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2023-3-23 06:34

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表