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

问题描述

我想在CUDA加2字符数组,但没有什么工作。
我试图用

 字符临时[32];
的strcpy(温度,my_array);
strcat的(温度,my_array_2);

当我用这个内核 - 我得到错误:调用从__global__函数(过程)一__host__功能(strcpy的)是不允许

在此之后,我试着在主机使用这些功能,而不是内核 - 没有错误,但加入后我收到奇怪的符号,比如ĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶĶ

所以,我怎么能在 CUDA

添加两个(或更多)字符数组
解决方案

write your own functions:

__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;
}

And while we're at it, here is strcmp

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

09-12 10:49