在 MATLAB 中反向读取文件中的单词
假设一个文本文件包含一个句子“I Study MATLAB from Tutorials Point.”。现在,我们想要以相反的顺序读取文本文件中的这些单词,结果将是“Point Tutorials from MATLAB Study I.”。在本文中,我们将探讨实现 MATLAB 程序以反向读取文本文件中的单词。
算法:反向读取文件中的单词
在 MATLAB 中,我们必须按照以下步骤反向读取文件中的单词
步骤 1 - 通过调用函数“fopen()”打开文件以进行读取。此函数采用两个参数,即文件路径和访问模式。对于“读取模式”,“r”用作访问模式。此函数返回一个文件标识符“FileID”,用于引用已打开的文件。
步骤 2 - 检查给定文件是否已成功打开。为此,将“fileID”的值与“-1”进行比较。如果“FileID”等于“-1”,则将显示一个错误,指出无法打开文件。
步骤 3 - 使用函数“fscan()”读取文件的内容。此函数采用两个参数,即文件标识符 (“FileID”) 和格式说明符 (“%c”)。这里,格式说明符“%c”用于从文件中读取字符。然后,打开的文件内容存储在变量“content”中。
步骤 4 - 使用函数“fclose()”关闭文件以释放系统资源。此函数采用文件标识符,即“FileID”作为参数。
步骤 5 - 使用函数“strsplit()”将文件内容拆分为单词。
步骤 6 - 使用函数“flip()”反转单词的顺序。
步骤 7 - 使用函数“disp()”显示反转后的单词。
现在让我们考虑一个 MATLAB 程序示例,以了解如何反向读取文件中的单词。
示例
% MATLAB program to demonstrate read words in a file in reverse order
% Create a text file
str = 'I Study from Tutorials Point';
FileID = fopen('tutorials_point.txt','w');
fprintf(FileID,'%s',str);
fclose(FileID);
% Open the file for reading its content
FileID = fopen('tutorials_point.txt', 'r');
% Check for successful file opening
if FileID == -1
error('Failed to open the file.');
end
% Read the file content
content = fscanf(FileID, '%c');
% Close the file to free up resources
fclose(FileID);
% Split the file content into words
words = strsplit(content);
% Reverse the order of words
reversed_words = flip(words);
% Display the reversed words
disp('Words in the Reverse Order:')
disp(reversed_words)
输出
Words in the Reverse Order:
{
[1,1] = Point
[1,2] = Tutorials
[1,3] = from
[1,4] = Study
[1,5] = I
}
解释
在上面的 MATLAB 程序中,我们首先使用访问模式“w”调用函数“fopen”来创建一个文本文件。然后,我们使用“r”调用函数“fopen”以打开文件以读取其内容。之后,我们检查文件是否已成功打开。如果文件未打开,则会显示错误。
我们使用“%c”作为格式说明符调用函数“fscanf”以读取其内容。然后,我们调用函数“fclose”关闭文件以释放系统资源。现在,我们调用函数“strsplit”将内容拆分为单词,并将这些单词存储在变量“words”中。之后,我们调用函数“flip”反转单词的顺序。最后,我们调用函数“disp”显示反转后的单词。
结论
要执行此操作,MATLAB 有一个函数“flip()”,它反转输入给它的单词的顺序。上面 MATLAB 中的示例程序演示了文件中单词顺序的反转。
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP