Pass a char to C file
2 views (last 30 days)
Show older comments
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.
0 Comments
Accepted Answer
Jan
on 16 Jan 2013
void readerext4(int32_T size, real_T *txpos, real_T *typos, real_T *tzpos,
real_T *tvxpos, real_T *tvypos, real_T *tvzpos,
const char* FileName) /* added */
{ int32_T row;
FILE *cfPtr; // cfPtr = flowfield.dat file pointer FILE *cfPtrDebug;
if ( cfPtr = fopen(FileName, "r" ))
And append the "const char* FileName" in the header file also:
void readerext4(int32_T size, real_T *txpos, real_T *typos, real_T *tzpos,
real_T *tvxpos, real_T *tvypos, real_T *tvzpos,
const char* FileName);
3 Comments
Jan
on 17 Jan 2013
I do not work with Simulink, but I'd expect, that it accepts mxChar, which is an UTF16 encoded character, or a uint16_T from the view of the compiler.
More Answers (0)
See Also
Categories
Find more on Naming Conventions in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!