在C++中修改一个char*

Modify a char * in C++

本文关键字:一个 char C++ 修改      更新时间:2023-10-16

我正在为学校做一个项目,我必须使用字符串的char*intead。我需要修改char*的某些部分,但每次尝试都会出现内存问题。

名称的格式是:"1.1.2",我想做的是返回一个包含"1.1.3"的c*,所以我需要从名称中获取最后一个字符,并生成+1。

这是代码的一部分:

struct ve
{
     char * name;
};
char * modificar(ve *v)
{
    char *c= new char(strlen(v->name)+1);
    //I don't know what to do here to get the results I want
    return c; 
}

下面列出了一种非常基本的方法来完成您的要求:

char *c = strdup(v->name);
c[strlen(c)-1]++;
return c;

然而,它对1.1.9之类的东西有问题,这需要相当复杂的逻辑。