¨C¤@¦¸¶}±ÒÀɮ׮ɡAMATLAB §Y«O«ù¤@ÓÀɮצì¸m«ü¼Ð¡]File Position Indicator¡^¡A¥H¨M©w¤U¤@¦¸¶i¦æ¸ê®ÆÅª¨ú©Î¼g¤Jªº¦ì¸m¡C±±¨î¦¹«ü¼Ðªº¨ç¼Æ¦p¤U¡G
¨ç¼Æ ¥\¯à feof ´ú¸Õ«ü¼Ð¬O§_¦bÀÉ®×µ²§ô¦ì¸m fseek ³]©w«ü¼Ð¦ì¸m ftell ¨ú±o«ü¼Ð¦ì¸m frewind «³]«ü¼Ð¦ÜÀÉ®×°_©l¦ì¸m foef ¥i¥Î©ó´ú¸Õ«ü¼Ð¬O§_¦bÀÉ®×µ²§ô¦ì¸m¡A¨Ò¦p
¦b¤W¨Ò¤¤¡Afeof(fid) ¶Ç¦^ 1¡Aªí¥ÜÀɮ׫ü¼Ð¤w¸g¦bÀÉ®×µ²§ô¦ì¸m¡A¦]¬° test.txt ¥u¥]§t 10 Ӽƥئr¡CYn¦b±q test.txt ªº°_©l¦ì¸mŪ¥X¸ê®Æ¡A¥i¥Î frewind ¨Ó«³]«ü¼Ðªº¦ì¸m¡G
>> frewind(fid); >> A = fscanf(fid, '%g', 5) A = 1 4 9 16 25 fseek ¨ç¼Æ¥i¥Î©ó³]©w«ü¼Ð¦ì¸m¡A¨ä®æ¦¡¦p¤U
status = fseek(fid, offset, origin) ¨ä¤¤ fid ¬OÀÉ®×ÃѧO½X¡Aoffset ¬O°¾²¾¶q¡]¥H byte ¬°³æ¦ì¡A¥i¥H¬O¥¿¼Æ©Ît¼Æ¡^¡Aorigin ¥Nªí°ò·ÇÂI¡A¥i¥]§t¤U¦C¦r¦ê¡G
- 'cof'¡G«ü¼Ðªº²{¦b¦ì¸m¡]Corrent Position in File¡^
- 'bof'¡GÀɮתº°_©l¦ì¸m¡]Beginning of File¡^
- 'eof'¡GÀɮתºµ²§ô¦ì¸m¡]End of File¡^
ftell «h¥i¥Î©ó¶Ç¦^²{¦bªº«ü¼Ð¦ì¸m¡C¨Ò¦p
40 ¥Nªí«ü¼Ð¤w¦bÀÉ®×µ²§ô¦ì¸m¡C±ý±N«ü¼Ð¦V«e²¾°Ê 10 bytes¡A¥i¿é¤J¦p¤U¡G
>> fseek(fid, -10, 'cof'); >> ftell(fid) ans = 30 ¦¹¥Nªí«ü¼Ðªº·s¦ì¸m¬O 30¡C
MATLABµ{¦¡³]p¡G¤Jªù½g![]()