使用CStrings时堆栈粉碎错误

时间:2017-11-03 15:38:18

标签: c++ stack-smash

我正在做一个小项目,我绝对卡住了。我正在处理的函数的目的是根据一些预设规则重新排列和更改Cstring。我的问题出在我的交换算法的第二部分内,我提出了。

for(int i = 0; i < len; i++)
{
  if(sentence[i] == SPACE)
  {
    space++;
    spacePlace[counter] = i;
    counter++;
  }
}
for(int i = 0; i < space; i++)
{
  if(i == 0)
  {
    count2 = 0;
    for(int h = 0; h < 20; h++)
    {
      temp1[h] = NUL;
      temp2[h] = NUL;
    }

    for(int j = 0; j < spacePlace[0]; j++)
      temp1[j] = sentence[j];
    for(int m = spacePlace[0]; m < spacePlace[1]; m++)
    {
      temp2[count2] = sentence[m];
      count2++;
    }
.
. 
.

第一个for循环执行完美且输出很好,但第二个for循环总是混乱并最终向我发送堆栈粉碎错误。为了更多参考,sentence是传递给函数的cstring,temp1和temp2也是cstrings。任何正确方向的帮助或分数都是天赐之物。谢谢!

0 个答案:

没有答案