在Matlab中将字符串保存到文件时如何禁用反斜杠转义?

时间:2019-01-11 13:27:54

标签: matlab escaping backslash

以下两行均未将“ a \ b”写入文件

fid = fopen('myfile.txt','w'); fprintf(fid, 'a\b'); fclose(fid);

fid = fopen('myfile.txt','wb'); fprintf(fid, 'a\b'); fclose(fid);

在保存到文件期间,Matlab可能会进行反斜杠转义。

如何禁用此“功能”?

字符串应保持不变,即fprintf(fid, 'a\\b')不是解决方案,length('a\b')==3应该是true

2 个答案:

答案 0 :(得分:5)

您可以在fprintf中使用转换字符,即本例中为%s

fid = fopen('myfile.txt','w'); fprintf(fid, '%s', 'a\b'); fclose(fid);

如果我没记错的话,不会违反您的条件length('a\b')==3

答案 1 :(得分:4)

另一种替代方法是使用fwrite

fwrite(fid,'a\b','uchar');

如果您使用'char'模式,则字符串的编码方式会有所不同,具体取决于打开文件的方式(例如UTF编码)。