获取字符串的前10个字符?

use*_*069 11 c string

我无法通过网络搜索找到任何信息.我应该在哪里看?

Lef*_*s E 14

char myString[256]; // Input string
char dest[256];     // Destination string

strncpy(dest, myString, 10);
dest[10] = 0; // null terminate destination
Run Code Online (Sandbox Code Playgroud)

  • 如果要将字符串截断为10个字符,则将myString [10] = 0; (这是因为myString指向内存而不是字符串lettral) (2认同)
  • @TafT 他们是等价的 (2认同)

tia*_*anz 7

char source[] = "abcdefthijklmn";
char target[100];

strncpy(target, source, 10);
target[10] = '\0'; // IMPORTANT!
Run Code Online (Sandbox Code Playgroud)

  • 目标不是未初始化的指针。target 指向堆栈中的 100 字节内存。\0 不是必需的,因为 strncpy 会把它 (3认同)
  • @LefterisE 不确定初始化的事情,但`strncpy` 不会自动放置`'\0'` (2认同)