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