Sscanf /sprintf usage
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hello,
So, apparently I don't understand very basic I/O....can somebody help me?
if num=343.1; str=sprintf('%10.3f',num); numdata=sscanf(str,'%10.3f'); why does numdata ~= num ???
Now, I can make it work by simply saying: numdata=sscanf(str,'%f'); then numdata=num;
But, I would like to use the former formatted sscanf to check the formatting of an input file...
0 comentarios
Respuesta aceptada
Sarah Wait Zaranek
el 11 de Mayo de 2012
I think this is your issue --
From doc for sscan - "Format specifiers for the reading functions sscanf and fscanf differ from the formats for the writing functions sprintf and fprintf. The reading functions do not support a precision field. The width field specifies a minimum for writing but a maximum for reading"
This code would work:
num=343.1;
str=sprintf('%10.3f',num);
numdata=sscanf(str,'%f');
0 comentarios
Más respuestas (1)
Ver también
Categorías
Más información sobre Data Type Conversion en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!