在C++中修改一个char*
Modify a char * in C++
我正在为学校做一个项目,我必须使用字符串的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之类的东西有问题,这需要相当复杂的逻辑。
相关文章:
- 如何创建一个 char *[] 变量,以便将其传递给函数
- C Cout如何打印一个char*
- 使用C 中字符串标头的getline()函数将第一个char存储在字符串对象中
- C :在字符串中找到一个char,然后在先前的char之后找到另一个字符
- 如何从IStream读取一个char数组并将其写入另一个IStream
- 如何在c++中将计算分解为两个double和一个char
- 返回一个 char 数组而不是 const char *
- 将值从一个 char 数组存储到另一个 char 数组
- 如何在 c++ 中的另一个 char 数组中找到一个字符数组
- 如何在C 中创建一个char数组
- 当一个函数可以被赋予一个 char* 或文字字符串时,声明这个函数的正确方法是什么?
- C++使用类从多维向量输出一个char数组
- 如果您使一个char*ptr存储整数变量的地址,会发生什么
- C++将文件的所有字节都获取到一个char数组中
- 为 execvp() 创建一个 char* const *
- 将两个单词读入一个char数组元素
- 使用循环向后打印一个char数组
- 当我使用模板将一个char数组复制到另一个时出现问题
- C++创建一个char*迭代器
- 返回一个char指针(内存泄漏)