gpt4 book ai didi

c - 删除 char* 中的第一个字符

转载 作者:行者123 更新时间:2023-11-30 21:13:26 29 4
gpt4 key购买 nike

我有一个 char*,其中包含此数据“asd:asdsa”

我想删除“:”字符之前的内容。如何才能做到这一点?我看到过一些很难看的建议,需要我移动指针,但我不想这样做?

我可以知道一些建议吗?

最佳答案

在 C 语言中,你可以这样做:

char *newString = originalString + 4;

现在,如果您不想这样做,请告诉我们原因。告诉我们问题所在!

此外,如果您不知道它是 4 还是其他内容(只能在运行时知道),则使用循环找出 ':' 的索引 并用它代替 4。这是一项容易的任务。自己尝试一下。祝你好运。 :-)

<小时/>

我保留这部分只是为了学习目的,因为这个问题最初在我编写时被标记为 C++,我认为它可以帮助那些偶尔使用 C++ 工作的 C 程序员。

在 C++ 中,std::string 简化了许多使用字符串进行的操作。

std::string s = "asd:asdsa";  //#include <string>
s = s.substr(s.find(':') + 1);

在此代码中,substr() 返回 : 之后的字符串,这意味着其值为 "asdsa"

参见Online Demo.

关于c - 删除 char* 中的第一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17214635/

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