所以,當然,我現在有點麻煩了。我試圖讀取一個文本文件,按照列表順序進行這樣的事情。我想要做的是將數字,字符和字符串列單獨存儲在數組中。如何使用sscanf或fscanf從文件中讀取字符串?
[Numbers] [Characters] [Strings]
現在,當我想通了如何讀取數字和字符列到自己的陣列中,我似乎不能與字符串列這樣做。至少,不是fscanf
或sscanf
,這是我想要使用的命令。
如何閱讀使用fscanf
或sscanf
這樣的檔案? (我知道關於textscan,我想知道這是可能的fscanf或sscanf)。
好的,讓我在這裏添加一些代碼。所以,我研究這個,而我嘗試了以下內容:
fid = fopen('Data.txt', 'w+');
i = 1;
while ~feof(fid)
line = fgets(fid);
M(i) = sscanf(line, '%d, %c, %s', [3,inf];
i = i+1;
end
這將運行,但中號結束了出來只由數字構成的數據文件中的第一列的行向量。它完全忽略了字符和字符串的存在。
現在,爲了更好地瞭解sscanf函數的我嘗試以下
fid = fopen('Data.txt', 'w+');
i = 1;
while ~feof(fid)
line = fgets(fid);
M(i) = sscanf(line, '%d, %d, %d', [3,inf];
i = i+1;
end
對於數據的組成只是數字的列的樣本集。順便說一下,這和以前完全一樣;它只是讀取數據的第一個數字列並退出。所以,我甚至不知道如何正確使用sscanf,feof或fgets。所以我也可以在這裏使用一些幫助。
而且我知道試圖閱讀只是列數字fscanf微不足道,但我想在這裏理解sscanf和fgets。
對,我知道textscan。也許我會研究它,但我不願意,因爲命令只存在,據我所知,在matlab中,這可能不是我唯一想做的事情。 我會研究一下,但是,我想再次知道這是否適用於fscanf或sscanf。 而且,我的意思是,我所說的確實是文本文件的格式。只需很長時間(數千個值)的數字,字符和字符串列。 在很多方面,我只是好奇在這裏看看如何用fscanf和sscanf來做到這一點。也許這是愚蠢的,但是...我想知道。 – GeneralPancake
嗯,我不得不承認textscan完美的作品,說實話,真的讓我很煩惱。我只是,真的很想知道如何使用sscanf和/或fscanf來做到這一點。它必須是可能的,我真的不在乎它有多少痛苦。 – GeneralPancake