C - 将包含 '' 的字符数组复制到另一个字符数组,消除''



是否有任何C库函数将char数组(包含一些''字符(复制到另一个char数组,而无需复制''

例如,"hello"应复制为"hello"

,只要您知道char阵列有多长时间:

void Copy(const char *input, size_t input_length, char *output)
{
  while(input_length--)
  { 
     if(input!='')
        *output++ = input;
     input++;
   }
   *output = ''; /* optional null terminator if this is really a string */
}
void test()
{
     char output[100];
     char input = "Hello";
     Copy(input, sizeof(input), output);
 }

不,没有库函数可以做到这一点。你必须写自己的。

一个问题:您怎么知道什么时候停止忽略?您的字符串("hello"(具有三个零字节。您怎么知道停在第三次?

' 0'在字符串中是一种找到字符串末端的方法(字符串的终止字符(。因此,为字符串操作设计的所有功能都使用" 0"来检测字符串的末端。

现在,如果您想要按要求的实现,则需要自己设计。
您将面临的问题是:
1(您将如何确定哪个" 0"用作终止字符?
因此,对于此类实施,您需要明确说出用作终止字符的" 0"的计数,或者需要为字符串设置自己的终止字符。
2(对于实现实现的任何其他操作,您不能使用预定义的字符串相关功能。
因此,实施自己的功能以执行这些操作。

相关内容

  • 没有找到相关文章

最新更新