如何在c中获取char数组的一部分

dal*_*985 2 c arrays

我是 C 新手,我有以下简单的代码。我知道使用 strncpy 我可以从字符串中复制字符。

#include <stdio.h>
#include <string.h>

int main ()
{
  char str1[]= "To be or not to be";
  char str2[40];

  strncpy ( str2, str1, 5 );
  str2[5] = '\0';   /* null character manually added */
  puts (str2);

  return 0;
}  
Run Code Online (Sandbox Code Playgroud)

这段代码的输出是

To be
Run Code Online (Sandbox Code Playgroud)

如果我希望结果是“或不是”,我该如何读取这些字符?从 7-15 在这种情况下?

Vij*_*jay 8

用 :

  strncpy ( str2, str1+6, 9);
  str2[9] = '\0';   /* null character manually added */
Run Code Online (Sandbox Code Playgroud)