Why strrep() is unable to replace the string of following code.
1 次查看(过去 30 天)
显示 更早的评论
I have copied the entire content of the file to X.
ff='Downloads\python.txt';
fid=fopen(ff,'rt');
X = fread(fid) ;
fclose(fid) ;
X = string(X.') ;
Y = strrep(X,'name','verify') ;
fid = fopen(ff,'r+') ;
fprintf(fid,'%s',Y);
fclose (fid) ;
1 个评论
Geoff Hayes
2018-9-4
sachin - have you confirmed that name appears in your X? Is python.txt a text file or a binary file? (maybe this doesn't matter).
回答(1 个)
Walter Roberson
2018-9-4
fread() defaults to using 'uint8=>double' so the results would all be in the range 0 to 255 . string() of that is going to result in a string array in which each entry is "0" to "255", and each byte was a separate string entry -- so each one is going to be 1, 2, or 3 characters long. None of those are going to match the four character long string 'name' as none of them are going to be anything other than characters that represent digits.
Consider using fileread() instead of fopen/fread/fclose .
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Large Files and Big Data 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!