内存腐败C ++

时间:2017-05-13 22:33:15

标签: c++

在对这篇文章提出一些批评之后,我决定尝试另一种解决方案来测试我的问题。

我下面的代码的目的是将用户输入保存到数组中,然后在用户输入exit时输出它。我对C ++比较陌生,这意味着我知道这是一个代码问题。

此代码的约束是不使用STL或字符串。

我附上了下面没有给出所需输出的代码,而是打印出"退出"等于数组中存储的项目数的次数。

#include <iostream>

char * textArr[1000];
int lineCount = 0;

void saveText(char * text) {
    textArr[lineCount] = new char(1000);
    strcpy(textArr[lineCount], text);
}


int main()
{
    char * line = new char(1000);

    while (lineCount < 1000) {
        std::cin.getline(line , 1000);

        if (strcmp(line, "exit") == 0) {
            break;
        }

        saveText(line);
        lineCount++;
    }

    for (int i = 0; i < lineCount; i++) {
        std::cout << textArr[i] << std::endl;
    }

    delete(textArr);
    delete(line);

    return 0;
}

0 个答案:

没有答案