就如此容易。我在C++上。我已经阅读了cplusplus.com的cstdlib库函数,但是无法找到一个简单的函数。
我知道字符的长度,我只需要从中删除最后三个字符。我可以使用C++字符串,但这是用于处理使用char *的文件的,并且我不想从字符串转换为C char。

最佳答案

如果您不需要将字符串复制到其他位置并可以更改它

/* make sure strlen(name) >= 3 */
namelen = strlen(name); /* possibly you've saved the length previously */
name[namelen - 3] = 0;

如果您需要复制它(因为它是字符串文字,或者您想保留原始文本)
/* make sure strlen(name) >= 3 */
namelen = strlen(name); /* possibly you've saved the length previously */
strncpy(copy, name, namelen - 3);
/* add a final null terminator */
copy[namelen - 3] = 0;

09-25 20:24