c++ - 我如何验证我的程序的文件? C++

标签 c++ file function

我有一个程序可以读取一个文件,然后用它读取的信息做各种事情。

现在,我想创建一个函数,在将信息分配到内存之前检查文件中的所有信息。

我不确定我正在尝试做的事情是否正确,但这是我的想法,我不知道该怎么做。 如果您对此有更好的想法,请随时告诉我。

这里是我要实现的函数和读取文件的函数。

void Arreglo::FileValidation(ifstream &entrada)
{
    //implementation of the function
}

void Arreglo::Registro(ifstream &entrada)
{
  entrada >> Cantidad;
  Dealer = new Element[Cantidad];

  for (int i = 0; i < Cantidad; i++) {
      entrada >> Dealer[i].CompanyName;

      entrada >> Dealer[i].AmountModels;
      if (Dealer[i].AmountModels > MaxModel)
          MaxModel = Dealer[i].AmountModels;

      Dealer[i].Modelo = new Detail[Dealer[i].AmountModels];

    for (int j = 0; j < Dealer[i].AmountModels; j++) {
        entrada >> Dealer[i].Modelo[j].ModelName
            >> Dealer[i].Modelo[j].Sales;
    }
  }
}

更多信息:

我要查看文件里面的信息是这样的

4
Toyota
6
Corolla 1
Tercel 1
Avalon 1
Camry 1
Yaris 1
Supra 1
Mazda
6
3 8
5 2
6 2
2 2
Legend 2
RX7 2
Nissan
6
Sentra 3
Altima 3
Optima 3
350Z 3
Cube 3
GT-R 3
Acura
4
RSX 4
Legend 4
RDX 5
TL 6

PD:对不起我的英语。

最佳答案

读取和验证必须同时进行,不能先验证再读取(至少不容易)。

要验证的内容在很大程度上取决于输入数据的损坏程度。它可能就像什么都不做一样简单,只是读取数据;考虑温和的条件(检查超长字符串,数字必须在特定范围内);所有的范围都非常偏执,因为检查数字是否写成数字并且不包含字母或其他废话,例如名称是否在已批准的名称列表中。

关于c++ - 我如何验证我的程序的文件? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22047333/

相关文章:

C++ 从函数返回数组

c++ - 使用文件访问标志和 C++ 的文件输入和输出

c++ - 从托管 C++ 引用非托管 C++ DLL

c++ - 找到不同时间之间最快的时间在c++中返回错误的答案

java - StringTokenizer NoSuchElements

c++ - tellg() 和 seekg() 不能正常工作

Javascript 图片网址验证

c++ - Qml/Qt/C++ : QQuickView in a QWidget - Need Background Transparency

c - 为什么“while(!feof(file))”总是错误的?

c++ - 无法调用函数