本文介绍了字符数组复制到另一个字符数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想没有成功到字符数组复制到另一个。我曾尝试复制的memcpy的direcly地址从一个到另一个,是这样的:

 无效包括:(INT ID,焦炭名[16]){
INT I;  对于(i = 0; I< SZ;我++){
      如果(A [I] .ID == 0){
          一个[I] .ID = ID;
          的memcpy(安培;一个[I] .name和&安培;名称,strlen的(名字)+1);
          返回;
      }
  }
}

但显然只有在这个函数的作品。我曾尝试也是这样:,但没有奏效。
有人可以帮我吗?


解决方案

下拉的&安培; &放大器;名称 ,它应该工作。你的函数声明产生误导;它实际上等同于:

 无效包括:(INT ID,字符*姓名)

If name would be an array, name == &name. But name is a pointer so name != &name.

The C FAQ has some questions that might help:

这篇关于字符数组复制到另一个字符数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-14 17:37