mscanf - interface to the C scanf function
mfscanf - interface to the C fscanf function
msscanf - interface to the C sscanf function
The mfscanf function reads characters from the stream fd .
The mscanf function reads characters from Scilab window.
The msscanf function reads characters from the Scilab string str .
The niter optional argument specifies how many time the format has to used. One iteration produces one line in the output matrix. If niter==-1 the function iterates up to the end of file. The niter default value is 1.
//-- Simple use --
//----------------------------------------------------------
s='1 1.3' //a string
[n,a,b]=msscanf(s,"%i %e")
L=msscanf(s,"%i %e")
//-- Formats samples --
//----------------------------------------------------------
msscanf(" 12\n",'%c%c%c%c') //scan characters
msscanf('0xabc','%x') //scan with hexadecimal format
msscanf('012345abczoo','%[0-9abc]%s') //[] notation
// reading float and double
msscanf('4345.988','%g')-4345.988 // scan as float
msscanf('4345.988','%lg')-4345.988 // scan as double
//-- scanning multi-line data files --
//----------------------------------------------------------
//create a file with data
u=mopen(TMPDIR+'/foo','w');
t=(0:0.1:%pi)';mfprintf(u,"%6.3f %6.3f\n",t,sin(t))
mclose(u);
u=mopen(TMPDIR+'/foo','r'); // open the file for reading
//read the file line by line
[n,a,b]=mfscanf(u,'%e %e') //first line using mutiple LHS syntax
l=mfscanf(u,'%e %e') //second one using single LHS syntax
//use niter to read 5 more lines
l=mfscanf(5,u,'%e %e')
//use niter=-1 to read up to the end of file
l=mfscanf(-1,u,'%e %e')
mclose(u); //close the file
//-- scanning multi-line strings vectors --
//----------------------------------------------------------
//use niter to scan a string vector
[n,Names,Ages]=msscanf(-1,["Alain 19";"Pierre 15";"Tom 12"],'%s %d')
D=msscanf(-1,["Alain 19";"Pierre 15";"Tom 12"],'%s %d')
typeof(D)
Names=D(:,1) //strings
Age=D(:,2) //numerical values
mclose , meof , mfprintf , fprintfMat , mfscanf , fscanfMat , mget , mgetstr , mopen , mprintf , mput , mputstr , mscanf , mseek , mtell , mdelete ,