关于编程时如何读取文件的问题?
1.C++编程
最简单C++文件流fstream版:
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间
fstream流读取txt文件进入二位数组,并显示
fstream相应解释
更详细的解释流
int main()
{
ifstream ifile_open;
ifile_open.open("D:\\test.txt");
int num[7][7] = {0};
int* ptr = &num[0][0];
while (!ifile_open.eof())//读入文件
{
ifile_open >> *ptr;
ptr++;
}
for (int i = 0; i < 7; i++)
{
for (int j = 0; j < 7; j++)
{
cout << num[i][j];
}
cout << endl;//每输出一行就换行
}
//while (1);
ifile_open.close();
}
open_cv版:
opencv打开图像方法
2.C#编程
private void 打开图片ToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog file = new OpenFileDialog();
file.InitialDirectory = ".";
file.Filter = "所有文件(*.*)|*.*";
file.ShowDialog();
if (file.FileName != string.Empty)
{
try
{
pathname = file.FileName; //获得文件的绝对路径
this.pictureBox1.Load(pathname);//将所打开图片的路径赋值给pictureBox1,
//在pictureBox2显示框中显示
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
主要是利用OpenFileDialog类,打开文件对话框
常用属性解释请参考:
C#——OpenFileDialog类的描述
3.matlab编程
函数:uigetfile
函数功能:创建标准的对话框并通过交互式操作取得文件名
%读取文件
[FileName,PathName,FilterIndex] = uigetfile({'*.tif;*.bmp;*.jpg;*.png','All image files'},'Select the input image');%获取所选图像的信息(文件名、路径等)
if FilterIndex
picture=imread([PathName,FileName]); %读取原始标准图像
else
return
end
[FileName,PathName,FilterIndex] = uigetfile(FilterSpec):创建并显示对话框,列出当前目录下的文件。
FilterSpec决定文件的初始显示,它可以为一个文件全名或者包含通配符*,如‘*.doc’表示列出所有的文档文件。
如果FilterSpec是一个包含文件名的字符串,则该文件名所在的文件名域将被选中并显示出来,且该文件的扩展名将作为过滤作用;
如果FilterSpec是一个包含文件路径的字符串,例如‘.’,’…’或’/’,例如‘…/*.m’表示列出当前目录上的所有M文件;
如果FilterSpec是一个单元数组,则其第一列为扩展名列表,第二列为描述列表;
如果FilterSpec没有指定路径对象,则uigetfile将使用默认路径下的所有文件类型。
具体用法:
[FileName,PathName,FilterIndex] = uigetfile(FilterSpec,DialogTitle,DefaultName)
FileName:返回的文件名
PathName:返回的文件的路径名
FilterIndex:选择的文件类型
FilterSpec:文件类型设置
DialogTitle:打开对话框的标题
DefaultName:默认指向的文件名
参考:
matlab的文件打开函数uigetfile用法