【问题标题】:My file doesn't seem to be reading in data as an array我的文件似乎没有以数组的形式读取数据
【发布时间】:2014-09-19 06:02:45
【问题描述】:

所以由于某种原因,我的程序和输入文件读取功能似乎没有从我的输入文件中读取任何数据。 Visual Studio 2013 中没有任何标记。 这是我的输入文件读取函数:

void readem(listType p[], int &numlist)
{
    int i = 0, id = 0;
    string first, last;
    ifstream fin("extracredit.dat");
    while (!fin.eof())
    {
        getline(fin, p[i].last, ',');
        fin >> p[i].first >> p[i].id >> ws;
        i++;
        insertlist(p, first, last, id);
    }
    numlist = i;
}

有人知道为什么这似乎不起作用吗?谢谢!!

【问题讨论】:

  • (在我之前的回答中的讨论之后)程序的一般输出没有多大帮助,因为我们没有完整的代码(无论如何这可能太长了)。但是你可以添加类似 std::cout
  • 刚试过 cout

标签: c++ arrays struct ifstream


【解决方案1】:

看起来您在调用 insertlist 时传递了未初始化的“first”和“last”字符串。你的意思是:

insertlist(p, p[i].first, p[i].last, id)

?

我不确定您的代码实际上做了什么,但这可能是您的问题的原因。

【讨论】:

  • 我有字符串第一个,最后一个;在函数内部,它在使用指针读取文件时以这种方式工作。我们应该将它作为一个数组读入这个程序。而那个插入列表是另一个函数,我的问题是它根本没有读取任何信息。
  • 您能否在调用 insertlist 之前打印 p[i].first 和 p[i].last 的内容,并编辑您的问题以说出它给您的信息?如果我们知道代码,实际输出和您期望的输出,会更容易理解。
  • 这个函数只是从输入文件中读取信息。我在另一个函数中打印它,但由于某种原因,它甚至没有读取任何要打印的信息。使用指针和链接的先前程序的实际输出如下所示:Students in CSCI 112 Fall 2014 ============================== == ID First Last ================================= 112 Jared Boese 164 Kylie Garcia 199 Rory Mollenkamp 202 Han Solo 291亚历克斯·马丁内斯
  • 我的打印出来的只是标题部分,没有任何信息(ID、名字、姓氏)
猜你喜欢
  • 1970-01-01
  • 2020-02-21
  • 1970-01-01
  • 1970-01-01
  • 2011-12-03
  • 2017-05-25
  • 1970-01-01
  • 1970-01-01
  • 2018-06-24
相关资源
最近更新 更多