与读取文件并存储在std :: vector中混淆

时间:2019-04-11 02:27:34

标签: c++ c++11 command-line

我必须编写一个函数,使其接收2个文件名作为命令行参数(file1 file2),读取这些文件,并存储在两个std::vector容器中。

file1在每行中有4个int值,分别代表矩形的最低点和最高点,例如73 4 113 46,所以x y x y。我必须编写一个表示矩形的类,该类使每个矩形成为该类的对象。

file2仅包含区域列表,每行1个,值int

我必须使用C ++ 11编写此函数。

能否请给我展示一个示例,说明如何在 int main(int argc, char *argv[ ] )

我对此完全陌生。

这是我到目前为止所拥有的:

#include <fstream> // for file-access
#include <string>
#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{ 
    if (argc > 1) {
        cout << "argv[1] = " << argv[1] << endl; 
    } else {
        cout << "No file name entered. Exiting...";
        return -1;
    }
    ifstream infile(argv[1]); //open the file

    if (infile.is_open() && infile.good()) {
        cout << "File is now open!\nContains:\n";
        string line = "";
        while (getline(infile, line)){
            cout << line << '\n';
        }

    } else {
        cout << "Failed to open file..";
    }
    return 0;
}

1 个答案:

答案 0 :(得分:-1)

因此,您希望通过调用ifstream并将其放入字符串中以使其可解释来启动程序。

application/json

此后,您必须解决其余的细节。这是我在使用cpp时所使用的有用网站。

//calls the 2nd line in command line 
std::ifstream file(argv[1]);
//puts file into a string
std::string file1;
file>>file1;