Hello! I have troubles converting numbers from a char array to double format. The char array always has the dimensions 1×48. Every 8 characters represent an integer. Sometimes there are spaces between numbers and sscanf fails to give the results I need. For example:
aa = ' 1703434 42 1012275140184521401845314018473';sscanf(aa,'%8d')ans = 1703434 42 10122751 40184521 40184531 4018473
should return in fact
ans = 1703434 42 10122751 14018452 14018453 14018473
The reason why I don't use str2double for each 8 characters in 'aa' is that it gets very slow for many conversions. The original file I read also contains other words, and this array 'aa' is only a part of each line I read. So far sscanf was the fastest method and it worked well until this line was encountered.
Could anyone please explain me why sscanf behaves like this? Is there any quick alternative?
Best Answer