Так что помощь на textread
(или лучшей альтернативой textscan
) не супер ясно, как формат %c
спецификатор обрабатывает пробелы.
Если вы просто используете один %c
, он будет читать один символ за один раз, но в этом случае, пробела по-прежнему будут рассматриваться как разделитель, так как он находится между соответствует два односимвольных.
Что документация имеет в виду о %c
согласующего пробелов в том, что если вы указываете ожидаемую длину для %c
спецификатора (%<length>c
), то пробелы будут включены в игру.
textread('z.txt', '%12c')
% my name is z
Если вы просто хотите, чтобы прочитать в весь файл в виде массива символов, я бы просто использовать fread
с типом '*char'
данных, которая является функцией низкого уровня для доступа содержимое файла, если вам не нужно проанализируйте их вообще.
fid = fopen('z.txt', 'r');
data = fread(fid, '*char').';
disp(numel(data))
Если вы действительно хотите использовать textread
, другой вариант заключается в использовании %s
формат (строка) спецификатор вместо символа спецификатора и установите параметр 'Whitespace'
в ''
не лечить пространства, как пробелы и поэтому разделители.
textread('z.txt', '%s', 'whitespace', '')
За исключением места? вы считаете их всех, в том числе пространства, rigth? –
документация говорит, что если вы используете «% c», тогда он будет включать все пробелы, но когда я вставляю свой файл txt в MS word, тогда он говорит, что другой результат означает, что он не подсчитывает пробелы. –
. Я доверяю MATLAB больше, чем MS word, to быть честным .... Можете ли вы опубликовать [mcve] –