Мне нужно записать значения переменных в постоянный файл. Каждая операция записи должна добавить одну новую строку в тот же файл, и этот файл будет иметь миллионы строк данных из миллионов операций записи. Код, который я написал ниже, действительно записывает в файл, но проблема в том, что он переписывает одну и ту же строку снова и снова. Кроме того, я не уверен, правильно ли я ушел от конца строки, потому что он еще не выводит несколько строк. Может ли кто-нибудь показать мне, как изменить приведенный ниже код, чтобы он записывал столько строк данных, сколько ему нужно написать?с использованием stringstream и потока для записи длинного файла журнала
#include <sstream>
#include <string>
void writeToFile(std::stringstream& ss){
using namespace std;
string myString = ss.str();
ofstream myfile;
myfile.open ("somefile.txt");
myfile << myString;
myfile.close();
}
void anotherFunction(){
using namespace std;
stringstream mySS;
mySS << someVar; mySS << ", "; mySS << var2;
mySS << ", "; mySS << something; mySS << ", "; mySS << somethingelse; mySS << ", ";
mySS << dayofweek; mySS << ", "; mySS << time; mySS << ", ";
mySS << whichbone; mySS << ", "; mySS << name; mySS << "\n" << endl;
writeToFile(mySS);
}
void aThirdFunction(){
using namespace std;
stringstream mySS;
mySS << someVar; mySS << ", "; mySS << var2;
mySS << ", "; mySS << var3; mySS << ", "; mySS << fourthVar; mySS << ", ";
mySS << fifthVar; mySS << ", "; mySS << sixthVar; mySS << "\n" << endl;
writeToFile(mySS);
}
+1 и кредит за ответ за удар ногтем по голове. Это работает сейчас. Впечатляющее время отклика. Единственное, что ваш ответ не включает, это то, что «\ n» стало излишним и добавляло пустую строку после добавления исправления. – CodeMed