当前位置:  开发笔记 > 编程语言 > 正文

无法传递函数值来设置数组大小C++

如何解决《无法传递函数值来设置数组大小C++》经验,为你挑选了1个好方法。

这是我的功能;

int charCount(ifstream &file)
{
    char character = ' ';
    int count=0;
    while (!file.eof())
    {
        file.get(character);
        count++;
    }
    return count;
}

这是主要的;

int listSize = charCount(file);
char *arrayList = new char [listSize];

int index = 0;
while (!file.eof() && index < listSize)
{
    file.get(arrayList[index]);
    index++;
}

当我尝试打印此阵列时,没有任何显示.但是,当我设置这样的整数值时,char *arrayList = new char [50];它可以工作.我怎么解决这个问题?谢谢.

编辑:

我通过电话clear()和解决了它seekg()

charCount函数现在看起来像这样

    int charCount(ifstream &file)
{
    char character = ' ';
    int count=0;
    while (!file.eof())
    {
        file.get(character);
        count++;
    }
    file.clear();
    file.seekg(0, ios::beg);
    return count;
}

JSF.. 5

问题不在于数组的分配.问题是你读取整个文件以找出它的大小,所以当你再次尝试读取它以获取其内容时,它已经处于eof状态.



1> JSF..:

问题不在于数组的分配.问题是你读取整个文件以找出它的大小,所以当你再次尝试读取它以获取其内容时,它已经处于eof状态.

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有