gpt4 book ai didi

c++ - 切断一个字符的末尾 *

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:07:34 26 4
gpt4 key购买 nike

所以我有一个 char *。最后我想删掉一些。所以

char *sentence = "My name is Ted";

如何切断 Ted.我可以使它成为一个字符串,然后使用子字符串(来自 Java,这是我的方法),但 id 而不是那样做。但我不确定如何使用 char * 来做到这一点。

编辑:进一步讨论这个问题。问题出在一个函数中,该函数接受一个进程,并打算在该进程启动时返回位置。没关系,我可以得到它。但是参数 char *procLocation 是通过引用传递的,因此位置将被发送回那里。

我只能获取包含进程名称的位置。我想截掉进程名称,只返回位置。我尝试将位置设为字符串并执行子字符串(字符串 - processName 的长度)。没关系。但是

procLocation = location.c_str(); // where location.substr is the location - the process name

返回错误:error C2440: '=' : cannot convert from 'const char *' to 'char *'

最佳答案

因为那是一个字符串字面量,所以你不能修改它。

如果你这样做了:

char sentence[] = "My name is Ted";

您可以简单地将 Ted 之前的字符设置为 \0

不过,您最好还是使用 std::string

关于c++ - 切断一个字符的末尾 *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10348960/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com