CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

大家帮我看看这段代码.

楼主vc666(vc666)2002-01-07 14:15:27 在 VC/MFC / 基础类 提问

#include   "iostream.h"  
   
  void   mystrcpy(char*   dest,char*   source)  
  {  
  while   (*source!='\0')  
  {  
  *dest=*source;  
  source++;  
  dest++;  
  }  
  }  
   
  void   main()  
  {  
  char   a[20]="Happy   new   year!";  
  char   b[20];  
  mystrcpy(b,a);  
  cout<<b<<endl;  
  }  
  请问结果为什么不是"Happy   new   year",而是"Happy   new   year"加一个乱码再加"appy   new   year" 问题点数:20、回复次数:15Top

1 楼vc666(vc666)回复于 2002-01-07 14:29:01 得分 0

HelpTop

2 楼fhqiplj(霏霏鱼)回复于 2002-01-07 14:41:29 得分 0

学习!Top

3 楼vc666(vc666)回复于 2002-01-07 14:55:22 得分 0

没有人会吗?Top

4 楼tony1978(突击召唤师)回复于 2002-01-07 14:56:02 得分 0

建议你这么写:  
  int   i=0;  
  while(sorce[i]!='\0')  
  {  
    dest[i]=source[i];  
    i++;  
  }  
  Top

5 楼tony1978(突击召唤师)回复于 2002-01-07 14:57:00 得分 0

我知道了,你的b没有'\0'了,哈哈Top

6 楼sayu_yangyou(√)回复于 2002-01-07 14:57:23 得分 0

你用  
  mystrcopy(&b,&a)  
  试试Top

7 楼vc666(vc666)回复于 2002-01-07 15:05:28 得分 0

还是不对Top

8 楼charles_y(每天上网一小时)回复于 2002-01-07 15:10:09 得分 0

#include   "iostream.h"  
   
  void   mystrcpy(char*   dest,char*   source)  
  {  
  while   (*source!='\0')  
  {  
  *dest=*source;  
  source++;  
  dest++;  
  }  
  *dest='\0';  
  }  
   
  void   main()  
  {  
  char   a[20]="Happy   new   year!";  
  char   b[20];  
  mystrcpy(b,a);  
  cout<<b<<endl;  
  }  
  Top

9 楼bskay() bskay() bskay()回复于 2002-01-07 15:10:52 得分 5

void   mystrcpy(char*   dest,char*   source)  
  {  
        while   (*source!='\0')  
        {    
                *dest=*source;  
                source++;  
                dest++;  
        }  
        dest++;  
        *dest   =   '\0';  
  }  
   
  Top

10 楼xuyongg(懶漢)回复于 2002-01-07 15:12:08 得分 5

你的b   字符串末尾没有加'\0',所以会出错。  
  那个函数这样写:  
  mystrcpy(char*   dest,char*   source)  
  {  
        while   (*source!='\0')  
        {  
                *dest++=*source++;  
        }  
        *dest='\0';  
  }  
   
  Top

11 楼xuyongg(懶漢)回复于 2002-01-07 15:14:49 得分 5

to   :   bskay(bskay)   
  你的是错误的,最后一个dest++不能要,要就会出错。因为在WHILE里面,DEST已经++了Top

12 楼nnwlqe(网络企鹅)回复于 2002-01-07 15:23:00 得分 5

只需在你的while循环后面再加上一句即可:  
  while(...)  
  {  
  }  
  *(dest++)='\0';   //新加上。Top

13 楼vc666(vc666)回复于 2002-01-07 15:26:23 得分 0

给分了Top

14 楼charles_y(每天上网一小时)回复于 2002-01-07 16:18:05 得分 0

真气人,俺是第一个帮你解决的,居然得了分!!!!!!!!!Top

15 楼charles_y(每天上网一小时)回复于 2002-01-07 16:19:03 得分 0

呵呵,我是说得了0分.Top

相关问题

  • 一段VB代码,帮我翻译成Delphi代码,谢谢!!
  • 这段代码看不懂,帮帮我!
  • 帮帮我,看看这段代码
  • 帮我看看这段JS代码
  • 请帮我改一下这段代码
  • 大家帮我看看这段代码
  • 帮我看看这段代码(help)
  • 帮我看看这段代码
  • 请帮我看看这段代码
  • 帮我解释一下这段代码

关键词

  • source
  • mystrcpy
  • dest
  • char

得分解答快速导航

  • 帖主:vc666
  • bskay
  • xuyongg
  • xuyongg
  • nnwlqe

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo