如何终止在 C 中已有文本的字符串?

How to terminate a string that already has a text in C?

如何终止已经有值的字符串指针? 这是我试过的:

char* pointer = "Hello";
pointer = "[=10=]"

这行不通。我正在寻找一种方法来制作与这项工作具有相同概念的东西,因为我不是声明指针值的人(函数是)。

该函数是<sys/socket.h>中的recv函数,它不会为我终止它。

您应该知道您的字符串的 length 以便以 null 终止它。在您的情况下,recv 函数 returns 成功执行后的长度。它 returns -1 否则。

存储您的字符串的变量,比如 str,应该能够在其中存储至少 length + 1 个字符。

那么你可以这样做:

ssize_t length = /* Call to recv function */;
if (length != -1)
    str[length] = '[=10=]';