Find end of line (EoL) in a text file using MATLAB code

9 ビュー (過去 30 日間)
huda nawaf
huda nawaf 2011 年 11 月 10 日
編集済み: Stefanie Schwarz 2023 年 3 月 28 日
hi, how test end of line (EoL)?
thanks
  1 件のコメント
Jan
Jan 2011 年 11 月 11 日
It would be helpful, if you explain the input. It matters, if you are reading a text file under Windows or getting data from a serial port under Linux.

サインインしてコメントする。

回答 (3 件)

Walter Roberson
Walter Roberson 2011 年 11 月 10 日
If you have the file open in text mode, then end of line occurs when the character you read in is newline, char(10), sprintf('\n')
If you do not have the file open in text mode, then end of line is whatever that particular binary format says end of line is.
  8 件のコメント
Image Analyst
Image Analyst 2011 年 11 月 11 日
Why do you say you don't need fgetl() when that seems to be the solution to your problem?
huda nawaf
huda nawaf 2011 年 11 月 11 日
because fgetl return for example:
c=fgetl('f.txt')
the first line:
c=712 9511 746 6 6250 10871 9635 7811
I face difficult when I store it in matrix
where c(1)=7 but not 712
thanks

サインインしてコメントする。


Image Analyst
Image Analyst 2011 年 11 月 11 日
You may not need to. Are you aware that you can read to the end of a line with built in functions fgets() and fgetl()?
fgets: Read line from file, keeping newline characters
fgetl: Read line from file, removing newline characters

Dr. Seis
Dr. Seis 2011 年 11 月 11 日
It won't work if you read in each string one-by-one, you have to read in each character one-by-one for it to work.
fid = fopen('filename.txt','r');
char_temp = fscanf(fid,'%c',1);
while ~isequal(char_temp,sprintf('\n'))
char_temp = fscanf(fid,'%c',1);
end
disp('Have reached end of line');
OR...
fid = fopen('filename.txt','r');
char_temp = fscanf(fid,'%c',1);
while ~isequal(char_temp,char(10))
char_temp = fscanf(fid,'%c',1);
end
disp('Have reached end of line');
Now that we know you are working with numbers...
fid = fopen('filename.txt','r');
while ~feof(fid)
temp_str = fgetl(fid);
c = sscanf(temp_str,'%d');
% do things with "c"
end
fclose(fid);
  1 件のコメント
huda nawaf
huda nawaf 2011 年 11 月 11 日
thank u very much .
the last code u sent is good.
look I found another command is very good and quick
data=dlmread('exp.txt')

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeScripts についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by