Index: trunk/BNC/bncgetthread.cpp
===================================================================
--- trunk/BNC/bncgetthread.cpp	(revision 423)
+++ trunk/BNC/bncgetthread.cpp	(revision 424)
@@ -317,5 +317,5 @@
     else if (_format.indexOf("SP3") != -1 || _format.indexOf("ASCII") != -1) {
       emit(newMessage("Get Data in ASCII format"));
-      _decoder = new bncZeroDecoder();
+      _decoder = new bncZeroDecoder(_staID);
     }
     else {
Index: trunk/BNC/bnczerodecoder.cpp
===================================================================
--- trunk/BNC/bnczerodecoder.cpp	(revision 423)
+++ trunk/BNC/bnczerodecoder.cpp	(revision 424)
@@ -26,4 +26,5 @@
 #include <iostream>
 #include "bnczerodecoder.h"
+#include "bncutils.h"
 
 using namespace std;
@@ -31,5 +32,16 @@
 // Constructor
 //////////////////////////////////////////////////////////////////////// 
-bncZeroDecoder::bncZeroDecoder() {
+bncZeroDecoder::bncZeroDecoder(const QString& fileName) {
+  QSettings settings;
+  QString path = settings.value("rnxPath").toString();
+  expandEnvVar(path);
+
+  if ( path.length() > 0 && path[path.length()-1] != QDir::separator() ) {
+    path += QDir::separator();
+  }
+
+  _fileName = path + fileName;
+
+  _out.open(_fileName.toAscii().data());
 }
 
@@ -37,4 +49,5 @@
 //////////////////////////////////////////////////////////////////////// 
 bncZeroDecoder::~bncZeroDecoder() {
+  _out.close();
 }
 
@@ -42,5 +55,6 @@
 //////////////////////////////////////////////////////////////////////// 
 void bncZeroDecoder::Decode(char* buffer, int bufLen) {
-  cout.write(buffer, bufLen);
+  _out.write(buffer, bufLen);
+  _out.flush();
 }
 
Index: trunk/BNC/bnczerodecoder.h
===================================================================
--- trunk/BNC/bnczerodecoder.h	(revision 423)
+++ trunk/BNC/bnczerodecoder.h	(revision 424)
@@ -27,12 +27,16 @@
 #define INC_BNCZERODECODER_H
 
+#include <fstream>
+#include <QtCore>
 #include "RTCM/GPSDecoder.h"
 
 class bncZeroDecoder: public GPSDecoder {
   public:
-    bncZeroDecoder();
+    bncZeroDecoder(const QString& fileName);
     ~bncZeroDecoder();
     virtual void Decode(char* buffer, int bufLen);
   private:
+    QString        _fileName;
+    std::ofstream  _out;
 };
 
