Не работает вывод файл в c++, при этом предусмотрел закрытие и открытие потоков непосредственно во время чтения и записи соответственно

Новый файл просто не создается

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define forn(i, n) for(ll i=0; i<n; ++i)
#define ff first
#define ss second
#define pb push_back
ifstream ifile;
ofstream ofile;
string finame, foname;
vector<string> get_text(){
    ifile.open(finame, ios_base::in);
    vector<string> res;
    char ch;
    string cur="";
    if(ifile){
        while(ifile.get(ch)){
            if(ch=='\n'){
                res.pb(cur);
                cur="";
            } else{
                cur+=ch;
            }
        }
    }
    ifile.close();
    return res;
}
vector<pair<string, ll>> get_ans(const vector<string> &text){
    vector<pair<string, ll>> res;
    forn(i, text.size()){
        string cur="";
        bool f=false;
        forn(j, text[i].size()){
            if(text[i][j]=='"'){
                if(f){
                    res.pb({cur, i+1});
                    cur="";
                    f=false;
                } else{
                    f=true;
                }
            } else{
                if(f) cur+=text[i][j];
            }
        }
    }
    return res;
}
void print_ans(const vector<pair<string, ll>> &ans){
    ofile.open(foname, ios_base::out);
    forn(i, ans.size()){
        ofile << i+1 << "\t" << ans[i].ff << "\t" << ans[i].ss << '\t';
        ofile << '\n';
    }
    ofile.close();
}
void get_args(ll argcc, vector<string> argvv, string &finame, string foname){
    forn(i, argcc-1){
        string argg=argvv[i];
        switch(argg[1]){
            case 'I':
            finame=argg.substr(2, argg.size());
            break;
            case 'O':
            foname=argg.substr(2, argg.size());
            break;
        }
    }
    if(finame.empty()){
        cout << "Enter input file\n" << flush;
        cin >> finame;
    }
    if(foname.empty()){
        cout << "Enter output file\n" << flush;
        cin >> foname;
    }
}
int main(int argc, char *argv[]){
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    vector<string> argvv;
    forn(i, argc-1){
        argvv.pb(argv[i+1]);
    }
    get_args(argc, argvv, finame, foname);
    vector<string> text=get_text();
    vector<pair<string, ll>> ans=get_ans(text);
    print_ans(ans);
    return 0;
}

Ответы (0 шт):