Index: trunk/FACT++/src/root2csv.cc
===================================================================
--- trunk/FACT++/src/root2csv.cc	(revision 20010)
+++ trunk/FACT++/src/root2csv.cc	(revision 20011)
@@ -679,5 +679,5 @@
         cout << "\n-------------------------- Converting file -------------------------" << endl;
 
-    vector<ofstream> outfiles;
+    vector<unique_ptr<ofstream>> outfiles;
 
     if (split.empty())
@@ -688,7 +688,7 @@
             return rc;
 
-        outfiles.emplace_back(path.Data(), append ? ios::app : ios::trunc);
+        outfiles.emplace_back(new ofstream(path.Data(), append ? ios::app : ios::trunc));
         if (rc==-1 || (force && rc==0 && !append))
-            WriteHeader(outfiles.back(), vec, formulas, skip, header);
+            WriteHeader(*outfiles.back(), vec, formulas, skip, header);
     }
     else
@@ -703,7 +703,7 @@
             if (rc>0)
                 return rc;
-            outfiles.emplace_back(path.Data(), append ? ios::app : ios::trunc);
+            outfiles.emplace_back(new ofstream(path.Data(), append ? ios::app : ios::trunc));
             if (rc==-1 || (force && rc==0 && !append))
-                WriteHeader(outfiles.back(), vec, formulas, skip, header);
+                WriteHeader(*outfiles.back(), vec, formulas, skip, header);
         }
     }
@@ -749,5 +749,5 @@
             join.emplace_back(to_string((*v)->EvalInstance(0)));
 
-        outfiles[index] << boost::join(join, " ") << "\n";
+        *outfiles[index] << boost::join(join, " ") << "\n";
     }
 
@@ -755,5 +755,5 @@
     {
         cout << "\nTotal: N=" << count << " out of " << num << " row(s) written [N=" << first << ".." << num-1 << "]." << endl;
-        for (int i=0; i<split.size(); i++)
+        for (size_t i=0; i<split.size(); i++)
             cout << "File " << i << ": nrows=" << ncount[i] << '\n';
         cout << '\n';
Index: trunk/FACT++/src/rootifysql.cc
===================================================================
--- trunk/FACT++/src/rootifysql.cc	(revision 20010)
+++ trunk/FACT++/src/rootifysql.cc	(revision 20011)
@@ -937,5 +937,5 @@
     // ------------------------- Open the ascii files --------------------------
 
-    vector<ofstream> fout;
+    vector<unique_ptr<ofstream>> fout;
     if (!write.empty())
     {
@@ -949,5 +949,5 @@
         for (auto it=names.cbegin(); it!=names.cend(); it++)
         {
-            fout.emplace_back(*it);
+            fout.emplace_back(new ofstream(*it));
             if (!*fout.rbegin())
                 cout << "WARNING: Writing to '" << write << "' failed: " << strerror(errno) << endl;
@@ -997,6 +997,6 @@
     for (auto ff=fout.begin(); ff!=fout.end(); ff++)
     {
-        *ff << contents;
-        *ff << "# " << htxt.str() << endl;
+        **ff << contents;
+        **ff << "# " << htxt.str() << endl;
     }
 
@@ -1016,5 +1016,5 @@
             cout << rtxt.str() << '\n';
         if (!fout.empty())
-            fout[index] << rtxt.str() << '\n';
+            *fout[index] << rtxt.str() << '\n';
 
         size_t idx=0;
