使用 ifstream 在 C++ 中读取文件时显示一些额外的数字,这是我的代码

问题描述

if(role==2)
    {
        int arr;
        ifstream record("total.txt");
        record>>arr;
        record.close();
        string names[arr];
        int age[arr];
        ifstream file("names.txt");
        ifstream file0("ages.txt");
        for(int i=0;i<arr;i++)
        {
            getline(file,names[i]);
            file0>>age[i];
        }
        for(int i=0;i<arr;i++)
        {
            cout << left << setw(25)
            << names[i] << " " << age[i] << std::endl;
        }
    }

这里我正在读取两个文件名和年龄。 Total.txt 包含一个数字,即人数。 这是输出窗口:

[在此处输入图片说明]

1

19 之后它显示 0 和 6419936,我不知道为什么。这 2 个数字不存在于 age.txt 中。如何摆脱它们?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)