archivo – Guardar datos generado en un fichero C++

Soy un poco nuevo en esto.

Mi problema es el siguiente: He generado tres filas con números aleatorios y necesito que me guarde dichos datos en un archivo txt y no sé como realizarlo. Leyendo he visto que está la orden fopen pero no se como hacerlo.

Mi codigo es el siguiente:

#include <iostream>
#include <ctime>
using namespace std;
int main()
{
   srand(time(NULL));
   int i, n, aleatorio, DESDE=1, HASTA=100;
   n=20;
   for (i = 1; i <= n; i ++)
   {
             aleatorio = rand()%(HASTA-DESDE+1)+DESDE;
             cout << aleatorio << " ";
   }
   cout << endl;

   int aleatorio1, DESDE1=1, HASTA1=10;
   for (int i = 1; i <= n; i ++)
   {
             aleatorio1 = rand()%(HASTA1-DESDE1+1)+DESDE1;
             cout << aleatorio1 << " ";
   }
   cout << endl;

   int suma=0;
   for (int i = 1; i <= n; i ++)
   {
             suma= suma+ aleatorio;
   }
   int aleatorio2, DESDE2=suma*(0.5-0.4), HASTA2=suma*(0.5+0.4);
   for (int i = 1; i <= n; i ++)
   {
             aleatorio2 = rand()%(HASTA2-DESDE2+1)+DESDE2;
             cout << aleatorio2 << " ";
   }
   cout << endl;

   system("pause");
}

De esta manera deseo que se me guarden en un fichero de .txt las tres filas de números aleatorios generados.

Muchas gracias a quien me pueda ayudar.