本文介绍了字符数组复制到另一个字符数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想没有成功到字符数组复制到另一个。我曾尝试复制的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:
这篇关于字符数组复制到另一个字符数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!