从函数中的文件读取文件名作为争论

时间:2017-07-18 17:07:53

标签: c++ arrays function file-io

我正在尝试从一个文件中读取一个数组,该文件的数组内容存储在一个非常长的行上的逗号分隔列表中(大约346112个元素长)。

我有一个有时可以工作的函数,然后其他时候失败并出现分段错误(核心转储)错误。

此代码有什么问题?

int* read(std::string fileName)
{
    std::ifstream input(fileName.c_str());
    std::string line; 

    getline(input, line);
    std::string str = line;

    std::vector<int> vect;
    std::stringstream ss(str);

    int i = 0;
    while (ss >> i)
    {

        vect.push_back(i);
        if (ss.peek() == ',')
            ss.ignore();
    }
    input.close();

    return &vect[0];
}

然后我称之为:

int* h_w1 = NULL;
h_w1 = (int*)malloc(sizeof(int) * 346112);
h_w1 = read("file.txt");

这段代码到底有什么问题?

0 个答案:

没有答案