Pass a char to C file
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Jan
le 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 commentaires
Jan
le 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.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Simulink Coder dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!