C 指针不存储值
C++ pointer not storing value
word word::Addstr(char * &arr)
{
char * baka = nullptr;
if (sent != nullptr)
{
baka = new char[size + strlen(arr) + 3];
for (int i = 0; i < size; i++)
{
baka[i] = sent[i];
}
baka[size] = ' ';
int a = 0;
for (int i = size +2; i < size + strlen(arr) + 3; i++)
{
baka[i] = arr[a];
a++;
}
}
else
{
baka = new char[strlen(arr) + 1];
for (int i = 0; i < strlen(arr) + 1; i++)
{
baka[i] = arr[i];
}
}
word ustad(baka);
return ustad;
}
在第二个循环char *baka中没有存储arr []的值。我已经通过引用发送了炭指针,但仍然无法正常工作。
for (int i = size +2; i < size + strlen(arr) + 3; i++)
{
baka[i] = arr[a];
a++;
}
构造函数和所有其他事情都是准确的。Baka将价值存储在第一个循环中,但在第二个循环中没有。即使在这里:
baka[size] = ' ';
有人可以为此提供帮助!
baka[size + 1]
是非专业化的,可能是 0
。大概您是在打印结果字符串,并在空终止器处停止打印,因此您看不到字符串的第二部分。
如果您使用的是std::string
,则您的代码将简单得多:
std::string baka = sent + " " + arr;
相关文章:
- 存储指针值需要多少位
- 如何存储指针以功能模板,该模板将可呼叫对象作为其参数之一
- 为什么unique_ptr向量是存储指针的首选方法
- 我应该如何在Qt中存储指针
- 强制提升变体以存储指针
- 更好的是:存储对象与存储指针
- 在课堂上存储指针
- c++在存储指针元组时遇到问题
- 尝试学习boost::interactive Q3-在IC中存储指针时,我应该使用smart_pointer吗
- boost::numeric::ublas::矢量内部数据存储指针
- QList如何决定是存储指针还是存储项目本身
- 这些存储指针数组的方法之间有区别吗
- Boost属性树:如何在其中存储指针
- 在std::容器中选择存储值还是存储指针时的注意事项
- 在 std::vector 中存储指针会破坏连续内存存储的优势
- 设置不存储指针集合
- 在类中存储指针或对象
- 如何存储指针的矢量,包含不同的类型
- C++:字段对象可以在不存储指针的情况下知道其"parent"吗?
- 如何为在 std::map 中存储指针的模板类编写复制构造函数