Skip to content
Snippets Groups Projects
fileOpen.c 891 B
#define _FILE_OFFSET_BITS 64
#define _LARGEFILE_SOURCE
#define _LARGEFILE64_SOURCE

#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <math.h>
#include <string.h>
#include "segy.h"

/**
*  File handling routines 
*
*   AUTHOR:
*           Jan Thorbecke (janth@xs4all.nl)
*           The Netherlands 
**/

void name_ext(char *filename, char *extension);

FILE *fileOpen(char *file, char *ext, int append)
{
	FILE *fp;
	char filename[1024];

	strcpy(filename, file);
	name_ext(filename, ext);
	if (append) fp = fopen(filename, "a");
   	else fp = fopen(filename, "w");
   	assert(fp != NULL);
	
	return fp;
}

int traceWrite(segy *hdr, float *data, int n, FILE *fp) 
{
    size_t  nwrite;

    nwrite = fwrite( hdr, 1, TRCBYTES, fp);
    assert(nwrite == TRCBYTES);
    nwrite = fwrite( data, sizeof(float), n, fp);
    assert(nwrite == n);

	return 0;
}