当前位置: 代码迷 >> C语言 >> 问个比较初级的问题,自己写的字符串复制函数,总是编译过,运行不过
  详细解决方案

问个比较初级的问题,自己写的字符串复制函数,总是编译过,运行不过

热度:46   发布时间:2008-02-27 11:06:28.0
问个比较初级的问题,自己写的字符串复制函数,总是编译过,运行不过
程序代码:

#include <stdio.h>

int str_cpy(char * from, char * to)
{
    int i = 0;
    while((*(from+i)) != '\0'){
                      printf("%c", *(from+i));
        *(to + i) = *(from + i);
        
        i++;        
    }
    //*(to + i) = '\0';
    return i;
}

main()
{
      char * str1 = "I love";      
      char * str2;

      str_cpy(str1, str2);

      getch();
}      



我在网上查了很多相关的例子,似乎都和我的代码差不多,为什么我始终运行不过呢?
平台:windows xp sp2 + dev-C++
搜索更多相关的解决方案: 函数  字符  编译  初级  运行  

----------------解决方案--------------------------------------------------------
/*没有分配内存 主函数这样改动一下就可以了*/
main()
{
      char * str1 = "I love";      
      char  *str2,s[20];
      str2=s;

      str_cpy(str1, str2);

      getch();
}
----------------解决方案--------------------------------------------------------
str_cpy(str1,str2)
想把str1指得串复制到str2指得串中
可str2指向得空间不确定,并未初始化
在下愚见,望赐教
----------------解决方案--------------------------------------------------------
谢谢,正是这个问题,我修改了代码

str2 = malloc(strlen(str1));
已经不报错了,但是还不对
我又吧上面注释掉的 //*(to + i) = '\0';加了进去
现在完全正确了
非常感谢
----------------解决方案--------------------------------------------------------
  相关解决方案