Man Scilab

mscanfmfscanfmsscanf
Scilab Function

mscanf - interface to the C scanf function

mfscanf - interface to the C fscanf function

msscanf - interface to the C sscanf function

Calling Sequence

[n,v_1,...v_n]=mfscanf([niter,]fd,format)
L=mfscanf([niter,] fd,format)
[n,v_1,...v_n]=mscanf([niter,] format)
L=mscanf([niter,]format)
[n,v_1,...v_m]=msscanf([niter,]str,format)
L=msscanf([niter,] str,format)

Parameters

Description

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.

Examples


s='1 1.3'
[n,a,b]=msscanf(s,"%i %e")
msscanf(s,"%i %e")

msscanf(" 12\n",'%c%c%c%c') //scan characters

msscanf('0xabc','%x') //scan with hexadecimal format

msscanf('012345abczoo','%[0-9abc]%s')  //[] notation

//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);

//read the file line by line
u=mopen(TMPDIR+'/foo','r');
[n,a,b]=mfscanf(u,'%e %e')
l=mfscanf(u,'%e %e')
mclose(u);

//use niter
[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


u=mopen(TMPDIR+'/foo','w');
mfprintf(u,"%s\n",["Alain 19";"Pierre 15";"Tom 12"])
mclose(u);

u=mopen(TMPDIR+'/foo','r');
[n,Names,Ages]=mfscanf(2,u,'%s %d')
mclose(u);


 
  

See Also

mclose ,   meof ,   mfprintf ,   fprintfMat ,   mfscanf ,   fscanfMat ,   mget ,   mgetstr ,   mopen ,   mprintf ,   mput ,   mputstr ,   mscanf ,   mseek ,   mtell ,   mdelete ,  

Back