我想从包含所有空格的文件中读取所有字符,我正在尝试的是
fileRead = textread('myFile.txt', '%c');
disp('Characters total')
disp(length(fileRead))
但结果不正确,因为它只计算除空格以外的所有字符。
那么我该怎么做,任何帮助都会受到赞赏?
我想用空格读取文件。
答案 0 :(得分:1)
因此,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'
参数设置为{{1}不要将空格视为空格,因此也不要将空格视为空间。
''