Originariamente inviato da KrOW
intanto ti consiglio di cambiare IDE/compilatore (ho perso il conto di quante volte é stata detta questa frase in riferimento al devcpp) ... Poi, potresti postare tutto il codice relativo alla scrittura su file (apertura, loop ecc...)???
codice:

// reading a complete binary file
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
#include <sstream>
#include <iomanip>

using namespace std;

ifstream::pos_type size;
char * memblock;
char * memblock2;
char * memblock3;

string intToString(char value) {
stringstream ss;
ss << value;
return ss.str();
}

int stoint( const std::string &text )
{
	std::stringstream sstream;
	sstream << text;

	int integer;
	sstream >> integer;

	return integer;
}


int main () {
    

//APERTURA FILE TXT 
                   
ofstream fout;
fout.open("ritardi-quartine-senza-cout.txt", ios::app);      

//---------------------------------------------------
    
vector<string>token;
string valorestringa =""; 
string stringaquartina;
string stringaestrazione;
vector <string> compara;
int ritardo;
vector <int> ritardi(2);
int n;
n=0;
string stringaquartinasingola="";
string stringaestrazionesingola="";
string testo,estratta;
vector<string> token1;
vector<string> token2;
int inizio,fine,i,lparola;
bool continua;
testo = stringaestrazione;
stringaquartinasingola="";
vector<string> estrazioni;
vector<string> quartine;
vector<string> confronta;
vector<int> confrontainteri;

int occorrenza=0;

ritardo=0; 

int g=0;


ifstream file2 ("estrazioni.txt", ios::in|ios::binary|ios::ate);
if (file2.is_open())
{
size = file2.tellg();
memblock2 = new char [size];
file2.seekg (0, ios::beg);
file2.read (memblock2, size);
file2.close();
for (int i=0; i<size;i++) {
//cout << memblock[i];
valorestringa = intToString(memblock2[i]);
stringaestrazione += valorestringa;
}

cout << "\n\n";
cout << "carico estrazioni in memoria...";
cout << "\n\n";

cin.get();

testo=stringaestrazione;
continua = true;
inizio = -1;	/*1*/
while(continua){
fine = testo.find(',',inizio+1);	/*2*/
//fine = testo.find(',',inizio+1);
// ultima parola
if(fine==-1){	/*3*/
continua = false;
fine = testo.length();	/*4*/
}
// Estrazione parola
lparola = (fine-inizio)-1;	/*5*/
estratta = testo.substr(inizio+1,lparola);	/*6*/
token1.push_back(estratta);	/*7*/
inizio = fine;	/*8*/
}
}

cout << "\n\n";


cout << "\n\n";


ifstream file3 ("quartine.txt", ios::in|ios::binary|ios::ate);
if (file3.is_open())
{
size = file3.tellg();
memblock3 = new char [size];
file3.seekg (0, ios::beg);
file3.read (memblock3, size);
file3.close();
for (int i=0; i<size;i++) {

valorestringa = intToString(memblock3[i]);
stringaquartina += valorestringa;
}
cout << "\n\n";
cout << "carico quartine in memoria...";
cout << "\n\n";

cin.get();


cout << "Inizio elaborazione...";

testo=stringaquartina;
continua = true;
inizio = -1;	/*1*/
while(continua){
fine = testo.find(',',inizio+1);	/*2*/
// ultima parola
if(fine==-1){	/*3*/
continua = false;
fine = testo.length();	/*4*/
}
// Estrazione parola
lparola = (fine-inizio)-1;	/*5*/
estratta = testo.substr(inizio+1,lparola);	/*6*/
token2.push_back(estratta);	/*7*/
inizio = fine;	/*8*/
}
}


for (int a=0; a< token2.size(); a++) {

if (a%4==0) {

quartine.clear();
confronta.clear();
confrontainteri.clear();

}            
            

quartine.push_back(token2[a]);


if (quartine.size()==4) {

for (int y=0; y<quartine.size(); y++) {
    

for (int a=0; a< token1.size(); a++) {

if (a%5==0) {

estrazioni.clear();
confronta.clear();
confrontainteri.clear();

}            

estrazioni.push_back(token1[a]);

if (estrazioni.size()==5) {


estrazioni[0].replace(0, 2, "");

confronta.push_back(estrazioni[0]);
confronta.push_back(estrazioni[1]);
confronta.push_back(estrazioni[2]);
confronta.push_back(estrazioni[3]);
confronta.push_back(estrazioni[4]);
confronta.push_back(quartine[0]);
confronta.push_back(quartine[1]);
confronta.push_back(quartine[2]);
confronta.push_back(quartine[3]);

for (int j=0; j<confronta.size(); j++) {


int confrontaintero = stoint(confronta[j]);
confrontainteri.push_back(confrontaintero);

}
cout << "\n\n";


int contadoppioni=0;
sort(confrontainteri.begin(),confrontainteri.end());

int MISURAVECTOR;
MISURAVECTOR=confrontainteri.size();


  for (int i = 0; i < MISURAVECTOR-1; i++) {
  

    if (confrontainteri[i] == confrontainteri[i+1]) {
    contadoppioni++;

    }
    else {

    }

}

if (contadoppioni==1) {                  
ritardo++;
if (ritardo > ritardi[0]) { 
ritardi[0]=ritardo;
}            
ritardi[1]=ritardo;

}

else if (contadoppioni==2) {                  

ritardo=0;
ritardi[1]=ritardo;

}

else if (contadoppioni>=3) {                  

ritardo=0;
ritardi[1]=ritardo;

}

else  {                  

ritardo++;
if (ritardo > ritardi[0]) { 
ritardi[0]=ritardo;
}
ritardi[1]=ritardo;

}    

}

for (int y=0; y<estrazioni.size(); y++) {

}

for (int y=0; y<quartine.size(); y++) {

}

}

if (ritardi.size() !=0) {

//SCRITTURA FILE TXT 
                  
fout << quartine[0] << flush;;
fout << ",";
fout << quartine[1] << flush;;
fout << ",";
fout << quartine[2] << flush;;
fout << ",";
fout << quartine[3] << flush;;
fout << "---";
fout << " RA: ";
fout << ritardi[1] << flush;;
fout << "---";
fout << " RS: ";
fout << ritardi[0] << flush;;

//---------------------------------------------------

}

ritardi[0]=0;
ritardi[1]=0;

quartine.clear();
confronta.clear();
confrontainteri.clear();
ritardo=0;

}
}
}

//CHIUSURA FILE TXT 

fout.close();

//---------------------------------------------------

cout << "fine elaborazione";
cin.get();

}
Grazie

Ciao