I am using an embedded Matlab code for calling a C code, which read a text file. However I need to update the code below to pass a the text file name. I think I need to pass a char to the code, but I am not sure how to modify the c code below:
#include <stdio.h> #include <stdlib.h>#include "readerext4.h"void readerext4(int32_T size, real_T *txpos, real_T *typos, real_T *tzpos, real_T *tvxpos, real_T *tvypos, real_T *tvzpos){ int32_T row; FILE *cfPtr; // cfPtr = flowfield.dat file pointer FILE *cfPtrDebug; if ( cfPtr = fopen( "Flowfield.dat", "r" )) cfPtrDebug = fopen( "Debug.txt", "w" ); { for ( row = 0; row < size; row++ ) { fscanf( cfPtr, "%lf", txpos+row); fscanf( cfPtr, "%lf", typos+row); fscanf( cfPtr, "%lf", tzpos+row); fscanf( cfPtr, "%lf", tvxpos+row); fscanf( cfPtr, "%lf", tvypos+row); fscanf( cfPtr, "%lf", tvzpos+row); fprintf( cfPtrDebug, "%d\n", row + 1 ); } fclose( cfPtr ); fclose( cfPtrDebug ); } }
So instead of hard coding the the text file name (Flowfield.dat), I would like to pass a char (e.g. filename = flowfield.dat) to the C code. Can someone help, please? Thanks.
Best Answer