Per finire l'elaborazione e chiudersi ma non capisco perchè e sopratutto lo vorrei evitare.
L'elaborazione dovrebbe partire e finire da se e alla fine chiudere il programma...

codice:
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
#include <sstream>
#include <iomanip>

#include<stdio.h>
#include<string.h>


using namespace std;

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

string floatToString(float value) {
    stringstream ss;
    ss << value;
    return ss.str();
}


int main (int argc, char *argv[]) {


    FILE *a=fopen("RITARDI-XE-ESTRAZIONI-BARI-x-flash.txt","r");
    FILE *b=fopen("CRscelti-BARI-xflash.txt","w");
    
    char buf[1024];
    
       while( fgets(buf,1024,a)) if(strstr(buf,"CR=01") || strstr(buf,"CR=02")  )     
       
       fputs(buf,b);
       getchar();

fclose(a);
fclose(b);

return 0;      
              
    }
Quando lo lancio sia cliccando sopra il relativo .exe sia lanciandolo tramite .bat
mi si pare una finestra nera dos e aspetta sempre che io premi invio per elaborare quanto richiesto e chiudersi...

Grazie a chi mi dice come risolvere