Updated 20 Nov 2006
Major bug fixes in version 1.1 from 1.0. Upgrade strongly recommended.
This is a reimplementation of sscanf done to allow cell array output. Written as a mex file in C. I've decided it isn't practical for me to try to supply binaries, so you'll have to compile the source yourself using the MatLab "mex scanfc.c" command. If you have problems with compiling please let me know.
The native MatLab sscanf returns its output as a numeric or character array. This is a clumsy method that causes many problems, particularly with reading strings. My implementation with cell array output is more flexible and cleaner to use for complicated jobs.
I started with C code from the PHP project. I retooled the code for MatLab and also simplified and cleaned up as much as possible. I tried to mimic the behavior of native MatLab sscanf in terms of what formats are accepted and how it handles unusual format strings. Documentation is included in the scanfc.m file and also as comments in scanfc.c.
I have not yet had a chance to test this against a full suite of test cases, but the performance is to spec for my tests to date.
Peter Li (2023). scanfc (https://www.mathworks.com/matlabcentral/fileexchange/12929-scanfc), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Major bug fixes. There was a problem with using "*" for scan suppression. There was a problem with integer format scans: spillover from previous scans due to failure to null terminate the scan buffer.