如何从文件中获取循环中的多行

How to get multiple line in a loop from a file?

本文关键字:循环 获取 文件      更新时间:2023-10-16

我想按顺序从文件中获取多行,然后将它们保存到变量中。如果在 Java 中可以使用 scanner.nextInt .

C++呢?

int main(){
        string line;
        int a, b, c;
        ifstream myFile("input.in");
        if(myFile.is_open()){
            while(getline(myFile,line)){
                int cases = atoi(line.c_str());
                double count[cases];
                cout << "cases : "<<cases << "n";
                for(int i = 1; i <= cases; i++){
                    a = atoi(line.c_str());
                    b = atoi(line.c_str());
                    c = atoi(line.c_str());
                    cout << a << b << c;
                }
            }
        }        
        return 0;
    }
您可以使用

while(input.in >> cases)将下一个 int 读入cases,直到到达文件末尾 (EOF(。我已经在下面更新了您的代码。

int main(){
    string line;
    int a, b, c;
    ifstream myFile("input.in");
    if(myFile.is_open()) {
        int cases = 0;
        while(myFile >> cases) { // breaks on eof
            double count[cases];
            cout << "cases : " << cases << "n";
            for(int i = 1; i <= cases; i++){
                myFile >> a;
                myFile >> b;
                myFile >> c;
                cout << a << b << c;
            }
        }
    }        
    return 0;
}