Why does MATLAB do this, wrt fscanf from txt document?

1 回表示 (過去 30 日間)
Samyukta Ramnath
Samyukta Ramnath 2013 年 6 月 4 日
I imported a .txt document using fopen and fscanf, and used the following two lines:
fid = fopen('History2.txt');
words = fscanf(fid, '%s');
words
if true
% code
end
OUTPUT : words =
Hello,thistellsusthehistoryofvariousrulersintheCholaperiod.Historyisimportantbecauseittellsuswhatnottodointhefuture.That'swhyhistoryisthebestthingtodo,whenhistoryisthere,wefeelsafeandsound.
When I did this instead, fid = fopen('History2.txt'); words = fscanf(fid, '%c'); words if true % code end
OUTPUT : words =
Hello, this tells us the history of various rulers in the Chola period. History is important because it tells us what not to do in the future. That's why history is the best thing to do, when history is there, we feel safe and sound.
Any idea why just changing it from fscanf using %s to %c retained the whitespaces?

採用された回答

Jan
Jan 2013 年 6 月 4 日
The '%c' format specifier let FSCANF import all characters, even spaces, while '%s' imports words, which are separated by white-space characters. So you observe the expected behavior.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeWorkspace Variables and MAT-Files についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by