首页 > 解决方案 > 在我的 C++ 代码中未检测到我的第三个和第四个命令行参数

问题描述

我写了一些代码来输出某些学生的成绩,如果他们在下限和上限之间。我在编译程序时没有收到任何错误,但它没有写入我的 csv 文件。

我怀疑我的 if 语句有问题,我在其中写了 if(argv[3] && argv[4]) 因为它只是没有执行这部分代码。Argv3 和 4 在代码中将是“DA”。所以我会写: g++ -std=c++11 studentData.cpp 然后: ./a.out output.csv DA


   ofstream out_file;
   out_file.open(argv[2]);
   if(argv[3] && argv[4]){
      
      string lower = argv[3];
      string upper = argv[4];
      int x = calcNum(lower);
      int y = calcNum(upper);
      cout << "lower is: " << lower << endl;
      cout << "upper is: " << upper << endl;
   
      for(int i= 0; i < length; i++){
       if(students[i].average > x && students[i].average < y){
        
        
        out_file << students[i].studentName << " earned " << students[i].average << " which is an " << calcLetter(students[i].average) << endl;
       }
       
      }
   
  }
   else {
        cout << "Argv3 and Argv4 have not been detected";
          }
          
   out_file.close();

}

标签: c++11file-ioofstream

解决方案


推荐阅读