在cuda中添加char数组

Edd*_*his -1 arrays cuda char addition

我试图在cuda中添加2个char数组,但没有任何工作.我试着用:

char temp[32];
strcpy(temp, my_array);
strcat(temp, my_array_2);
Run Code Online (Sandbox Code Playgroud)

当我在内核中使用它时 - 我得到了 error : calling a __host__ function("strcpy") from a __global__ function("Process") is not allowed

在此之后,我尝试在主机中使用这些函数,而不是在内核中 - 没有错误,但是在添加之后我会得到奇怪的符号????????????????????????????????.

那么,我如何添加两个(或更多)char数组CUDA呢?

Rob*_*lla 5

那么,我如何在CUDA中添加两个(或更多)char数组?

编写自己的函数:

__device__ char * my_strcpy(char *dest, const char *src){
  int i = 0;
  do {
    dest[i] = src[i];}
  while (src[i++] != 0);
  return dest;
}

__device__ char * my_strcat(char *dest, const char *src){
  int i = 0;
  while (dest[i] != 0) i++;
  my_strcpy(dest+i, src);
  return dest;
}
Run Code Online (Sandbox Code Playgroud)

虽然我们在这,这里strcmp