1

ファイルを開き、 を使用して最初の行を読み取り、fgetsを使用regexpしてファイルの形式をテストし、ファイルが目的の形式である場合は、 を使用fscanfしてファイル全体を読み取ります。

fid = fopen('E:\Tick Data\Data Output\Differentformatfiles\AUU01.csv','rt'); 

% reads first line of file but seems to be deleting the line:

str = fgets(fid);

% test for pattern mm/dd/yyyy
if(regexp(str, '\d\d/\d\d/\d\d\d\d')) 

c = fscanf(fid, '%d/%d/%d,%d:%d:%d,%f,%d,%*c'); 

残念ながら、ファイルの内容が次のようになっている場合:

20010701,08:29:30.000,95.00,29,E
20010702,08:29:30.000,95.00,68,E
20010703,08:29:30.000,95.00,5,E
20010704,08:29:30.000,95.00,40,E
20010705,08:29:30.000,95.00,72,E

strに等しくなります20010701,08:29:30.000,95.00,29,Ec、最後の 4 行のみに等しくなります。

20010702,08:29:30.000,95.00,68,E
20010703,08:29:30.000,95.00,5,E
20010704,08:29:30.000,95.00,40,E
20010705,08:29:30.000,95.00,72,E

fgets最初の行を削除しないようにする方法はありますか? または私が使用すべき別の機能?

4

1 に答える 1