Maybe try to read the whole file into one array with fread() and then do your parsing on the array. It should be faster than a bunch of disk accesses.
Read a defined block from text file
4 次查看(过去 30 天)
显示 更早的评论
Hello,
I like to read text from a text file with following structure:
Random Text
over several
lines
item(
name="Item1",
note="Note1",
coef=(
DATA(1, 2, 3, [11, 12, 21, 22]),
DATA(4, 5, 6, [44, 45, 54, 55])
),
author="Name1"
)
item(
name="Item2",
note="Note2",
coef=(
DATA(1, 2, 3, [11, 12, 21, 22]),
DATA(4, 5, 6, [44, 45, 54, 55])
),
author="Name2"
)
...
The structure is always the same (sometimes author is missing; DATA with 3 numbers and a vector is always stored in item). I thought I can use something like fscanf(fileID,'item(%s)') and split the text again. However, this does not work (returns an empty string).
The file is very big; looping through with fgetl and using if and strcmp works, but is very slow.
0 个评论
回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Text Files 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!