(translator=roro, ChineseSource=roro-20020502-9\strread.html, EnglishSource=c:\matlabr12\help\techdoc\ref\strread.html)
MATLAB Function Reference    
strread

從字串中讀取已格式化的資料

Syntax

Description

前四句語法是用在只有數值資料的字串。如果輸入的字串 str,包含任何文字資料,則會出現錯誤。

A = strread('str') 讀取字串 str 的資料並存入變數 A

A = strread('str','',N) 讀取 N 行的數值資料,N 為大於 0 的整數。若 N 為 -1,strread 將會讀取整個字串。

A = strread('str','',param,value,...) 依照 param/value 來決定 strread 的功用,param/value 的用法列在下面的表格中。

A = strread('str','',N,param,value,...) 依照 param/value 的值用 strread 來讀取 N 行資料。

後四句語法可用於數值或非數值的字串。在這四句中,strread 使用所對應的 format 格式從字串 str 讀取資料,並存入 A, B, C 等的變數中。

當資料回傳時,變數的資料型態是由字串 format 來決定。而變數的個數必須和字串 format 中所決定的變數個數相同。若傳回資料的數目大於所能接收資料的變數,則會產生錯誤。

依字串 format 來決定回傳值的個數及資料型態。回傳值的個數和字串 format 中決定項目的個數是相同的。同時,字串 format 支援 C 語言中 fscanf 程序的協定。字串 format 的使用方法列在下表。若在字串 format 中有空白字元,則一律忽略。

[A,B,C,...] = strread('str','format') 依照 format 格式讀取字串 str 並存入 A, B, C 等變數,直到讀完整個字串。

format
Action
Output
Literals
(ordinary characters)
忽略相配對應的字元。舉例來說,在檔案裡有個數字寫在 Dept 之後,若要忽略 Dept 並讀取數字,則在字串 format 中使用 'Dept'

%d
讀取一個正整數。
Double 陣列
%u
讀取一個整數。
Double 陣列
%f
讀取一個浮點數。
Double 陣列
%s
讀取一個被空白字元分隔的字串
存取字串的陣列
%q
讀取一個在雙引號之間的字串
存取字串的陣列。不包括雙引號。
%c
讀取包含空白字元在內的字元。
字元陣列
%[...]
讀取含有中括孤內字元的最長字串。
存取字串的陣列
%[^...]
讀取不包含中括孤內字元且不為空字串的最長字串。
存取字串的陣列
%*...
instead of %
忽略 * 後資料型態所對應的字元。

%w...
instead of %
讀取欄位長度為 w 的資料。另外,%f 的格式支援 %w.pfw 為其欄位的長度,而 p 則是精確度。

[A,B,C,...] = strread('str','format',N) 依 format 格式重覆 N 次讀取字串,N 為一大於 0 整數,若 N 為 -1,則 strread 將讀取整個字串。

[A,B,C,...] = strread('str','format',param,value,...) 依照 param/value 來決定 strread 的功用,param/value 的用法列在下面的表格中。

[A,B,C,...] = strread('str','format',N,param,value,...) 依照 param/value 來決定 strread 的功用,並依 format 格式重覆 N 次讀取字串。

param
value
Action
whitespace
\* where * can be:
將字元(以 * 代表)向量視為空白字元。預設為 \b\r\n\t.

b
f
n
r
t
\\
\'' or ''
%%
倒退符號
Form feed
換行符號
Carriage return
Horizontal tab
反斜線符號
單引號
百分比符號
delimiter
Delimiter 字元
指定定義符號,預設值為空字串。
expchars
Exponent 字元
預設值是 eEdD
bufsize
正整數
以位元組定義字串的最大長度,預設值是 4095
headerlines
正整數
忽略檔案起始的特定行數。
commentstyle
matlab
忽略在 % 之後的字元。
commentstyle
shell
忽略在 # 之後的字元。
commentstyle
c
忽略在 /**/ 之間的字元。
commentstyle
c++
忽略在 // 之後的字元。

Remarks

若您的資料不是用空白字元當做定義符號,則您必須使用 strread 中的參數 'delimiter' 來識別定義符號。舉例來說,如果一個字串 str 使用分號當做定義符號,則您必須用下列的指令才不會產生錯誤:

Examples

See Also

textread, sscanf


 strncmpi strrep