如何将一个char数组中元素插入到另一个char数组中指定元素后面,在java语言环境,但不能使用java的内置函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将一个char数组中元素插入到另一个char数组中指定元素后面,在java语言环境,但不能使用java的内置函数相关的知识,希望对你有一定的参考价值。

public class ArrayCopy
public static void main(String[] args)
char[] c1 = \'a\', \'b\', \'c\', \'d\', \'e\';
char[] c2 = \'f\', \'g\', \'h\', \'i\', \'j\';
copy(c1, 2, c2, 1, 2);
print(c2);

public static void copy(char[] s, int s1, char[] o, int s2, int len)
for(int i=0; i<len; i++)
o[s2 + i] = s[s1 + i];


public static void print(char[] temp)
for(int i=0; i<temp.length; i++)
System.out.print(temp[i] + " ");




参数说明:源数组 开始点 目标数组 开始点 长度
注:数组长度要长些 不然会越界。
参考技术A 已经解决

C++怎样将一个数插入到数组末尾?

参考技术A

把单一数放到数组的末尾,于是每个struct objects可以拥有可变数组的数组。

struct mumble

      /* stuff */
      char pc[1]; 
;
 
//从文件或标准输入装置中取得一个字符串
//然后为struct 本身和该字符配置足够的内存
 
struct mumble * pmumbl = (struct mumble*)
             malloc(sizeof(struct mumble) + strlen(string) +1);
strcpy(&mumble.pc,string);

首先,结构体的末尾定义了一个char数组,只分配了1个字符。那怎么能说是可变大小数组。

往下看,他用malloc函数分配了一堆的内存。大小为结构体+字符串+1(字符串结束符)如下图所示。

通过strcpy,将string字符串拷贝给mumble.pc,pmumble已经分配了足够的内存,因此只要赋值即可,也就达到了可变大小数组的意思。

但是,C++中的类可不同。  

C++中 public、protected、private内的声明顺序可以被保证,但是这三个关键字的布局是不同的。因此总的排列顺序并不能被保证。因此,不能实现struct的可变大小的数组。

以上是关于如何将一个char数组中元素插入到另一个char数组中指定元素后面,在java语言环境,但不能使用java的内置函数的主要内容,如果未能解决你的问题,请参考以下文章

在C中将奇数索引元素从一个数组复制到另一个数组

怎么用c语言将两个数组并起来?

如何将列表中的元素复制到数组 c/c++

如何将CString赋值给char数组的其中一项

如何将char赋给const char *

将 char 指针数组传递给函数