how can I count/read an Enter as one character?
    3 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
so here's the problem, i have a text file named sampletext.txt containing:
Hello Word
1 2 3 4 5 6
,I used the code
fid = fopen('sampletext.txt');
A = char(fread(fid,inf)).';
L = length(A)
the expected output is 22 but is outputs 23, it counts enter as 2 character. please help. :)
thankyou!
0 commentaires
Réponse acceptée
  Jan
      
      
 le 9 Mar 2014
        The character you call "enter" can be char([13, 10]) for DOS formatted ASCII text. Then counting this as 2 characters is correct. Why do you think this is wrong?
But could open the file under Windows in text-mode:
fid = fopen('sampletext.txt', 'rt');
Then the line reak is converted to a char(10) implicitely. But this has the disadvantage, that is does not apply the same conversion under Linux. Writig platform dependent code is a bad programming practize, so I'd rely on counting two bytes as two characters.
0 commentaires
Plus de réponses (1)
  Image Analyst
      
      
 le 9 Mar 2014
        Why not simply use fgetl() if you want to read line by line?
2 commentaires
  Image Analyst
      
      
 le 10 Mar 2014
				No but I just offered as a possibility in case he wants to and to not have to worry about 10s and 13s.
Voir également
Catégories
				En savoir plus sur String Parsing dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


