MATLAB: How to read a list of strings in a txt file

read string

Dear All,
I need to read a txt file which contains a list of names with different lengths. Here is my txt file:
mynames:
OAKFIELD
5556_T
ROLLINS
……
I need to read those names to store them in a string array MyNames. MyNames should be like below:
MyNames = [
'OAKFIELD'
'5556_T'
'ROLLINS'
……
];
Here is my code:
fid = fopen(FileName, 'r');
if fid < 0, error('Cannot open file'); end
while KKK < 30000 % Infinite loop
s = fgets(fid);
if ischar(s)
MyNames = [MyNames; s];
else % End of file:
break;
end
end
But what I got is Not correct. MyNames is an array having 10 coulmns and shows as
'CHSTRSVC←↵'
'5556_T'←↵'
'ROLLINS←↵'

Best Answer

Unless I am missing something, ‘KKK’ is never incremented inside the while loop, so it will in fact be infinite.
If you are actually using ‘KKK’ as a counter (and therefore incrementing it), this could work:
MyNames{KKK} = s;
That creates a cell array, and while that can create additional steps required to recover its contents later, it could be an effective approach.
A better approach could be readtable. The first variable would be the names, and you could simply ignore the others.
.