fopen打开文件(fopen打开文件路径)
怎样在MATLAB中用fopen打开文件
一、
MATLAB的fopen函数:打开指定文件
matlab中fopen函数在指定文件打开的实例如下:
“fopen”打开文件,赋予文件代号。
语法1:FID=
FOPEN(filename,permission)用指定的方式打开文件
语法2:FID
=
fopen('E:\\test1.raw',
'r');
FID=+N(N是正整数):表示文件打开成功,文件代号是N.
FID=-1
:
表示文件打开不成功。
FID在此次文件关闭前总是有效的。
如果以读方式打开,matlab首先搜索工作目录,其次搜索matlab的其他目录,“permission”是打开方式参数。
打开方式参数由以下字符串确定:
r
读出
w
写入(文件若不存在,自动创建)
a
后续写入(文件若不存在,自动创建)
r+
读出和写入(文件应已存在)
w+
重新刷新写入,(文件若不存在,自动创建)
a+
后续写入(文件若不存在,自动创建))
w
重新写入,但不自动刷新
a
后续写入,但不自动刷新
文件的存储格式:文件打开的默认方式是:二进制。以文本方式打开,可以在方式参数“permission”中加入“t”文件将,如“rt”,“wt+”
调用fopen函数打开一文本文件,在"使用方式"这一项中,为追加而打开需填入什么?
通常填入“附加”;另外还可以使用“a+”来读和写更新。该文件已更新为“r+”读和写更新。将更新写入“w+”。
一、fopen函数在当前目录中打开一个文件,调用的一般形式是:
文件指针名称=fopen(文件名,文件模式);
“文件指针名称”必须声明为指向文件类型的指针[1];
“文件名”是打开文件的文件名;
“文件模式”是指文件的类型和操作要求;
“文件名”是字符串常量或字符数组。
二、“R”=“rt”打开一个必须存在且只读的文本文件。
"R +" = "rt +"打开一个必须存在并允许读写的文本文件。
“Rb”打开一个必须存在且只读的二进制文件。
“Rb +”打开一个必须存在的二进制文件,允许读和写。
三、“W”=“wt”创建一个新的文本文件,现有的文件将被删除,只允许写入。
"W +" = "wt +"创建一个新的文本文件。现有文件将被删除,并允许阅读和写入。
四、“白平衡”创建一个新的二进制文件,现有的文件将被删除,只允许写入。
fopen函数的用法
fopen函数的用法如下
fopen函数用来打开一个文件,其调用的一般形式为:文件指针名=fopen(文件名,使用文件方式);其中,“文件指针名”必须是被说明为FILE 类型的指针变量;“文件名”是被打开文件的文件名;“使用文件方式”是指文件的类型和操作要求。“文件名”是字符串常量或字符串数组。
fopen 用法
fopen()函数的用法:
fopen函数用于打开文件, 其调用格式为:FILE *fopen(char *filename, *type);fopen()函数中第一个形式参数表示文件名, 可以包含路径和文件名两部分。如:"B:TEST.DAT""C:\\TC\\TEST.DAT"注意:如果将路径写成"C:\TC\TEST.DAT"是不正确的, 这一点要特别注意。
fopen函数用来打开一个文件,其调用的一般形式为:?文件指针名=fopen(文件名,使用文件方式)
其中,“文件指针名”必须是被说明为FILE?类型的指针变量,“文件名”是被打开文件的文件名。
“使用文件方式”是指文件的类型和操作要求。“文件名”是字符串常量或字符串数组。例如:
FILE?*fp;
fp=("file_a","r");
其意义是在当前目录下打开文件file_ a,?只允许进行“读”操作,并使fp指向该文件。
又如:
FILE?*fphzk
fphzk=("c:\\hzk16',"rb")
其意义是打开C驱动器磁盘的根目录下的文件hzk16,?这是一个二进制文件,只允许按二进制方式进行读操作。
两个反斜线“\\?”中的第一个表示转义字符,第二个表示根目录。使用文件的方式共有12种,下面给出了它们的符号和意义。
第二个形式参数表示打开文件的类型。关于文件类型的规定参见下表。
字符 含义
? ────────────────────────────??????????
"r"??????????? 打开文字文件只读??????????
"w"?????????? 创建文字文件只写?????????
"a"?????????? 增补, 如果文件不存在则创建一个?????
"r+"????????? 打开一个文字文件读/写????????
"w+"???????? 创建一个文字文件读/写??????????
"a+"???????? 打开或创建一个文件增补??????????
"b"?????????? 二进制文件(可以和上面每一项合用)??????????
"t"?????????? 文这文件(默认项)??
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
文件使用方式? 意?义
“rt”只读打开一个文本文件,只允许读数据
“wt”只写打开或建立一个文本文件,只允许写数据
“at”追加打开一个文本文件,并在文件末尾写数据
“rb”只读打开一个二进制文件,只允许读数据
“wb”? ?只写打开或建立一个二进制文件,只允许写数据
“ab”?? 追加打开一个二进制文件,并在文件末尾写数据
“rt+” ?读写打开一个文本文件,允许读和写
“wt+” ?读写打开或建立一个文本文件,允许读写
“at+” ?读写打开一个文本文件,允许读,或在文件末追加数?据
“rb+” ?读写打开一个二进制文件,允许读和写
“wb+” ?读写打开或建立一个二进制文件,允许读和写
“ab+”? 读写打开一个二进制文件,允许读,或在文件末追加数据
对于文件使用方式有以下几点说明:
1.?文件使用方式由r,w,a,t,b,+六个字符拼成,各字符的含义是:
r(read):?读
w(write):?写
a(append):?追加
t(text):?文本文件,可省略不写
b(banary):?二进制文件
+:?读和写
2.?凡用“r”打开一个文件时,该文件必须已经存在,?且只能从该文件读出。
3.?用“w”打开的文件只能向该文件写入。?若打开的文件不存在,则以指定的文件名建立该文件,若打开的文件已经存在,则将该文件删去,重建一个新文件。
4.?若要向一个已存在的文件追加新的信息,只能用“a?”方式打开文件。
5.?在打开一个文件时,如果出错,fopen将返回一个空指针值NULL。在程序中可以用这一信息来判别是否完成打开文件的工作,并作相应的处理。因此常用以下程序段打开文件:
if((fp=fopen("c:\\hzk16","rb")==NULL)
{
printf("\nerror?on?open?c:\\hzk16?file!");
getch();
exit(1);
}
这段程序的意义是,如果返回的指针为空,表示不能打开C盘根目录下的hzk16文件,则给出提示信息“error?on?open?c:\?hzk16file!”,下一行getch()的功能是从键盘输入一个字符,但不在屏幕上显示。在这里,该行的作用是等待,?只有当用户从键盘敲任一键时,程序才继续执行,?因此用户可利用这个等待时间阅读出错提示。敲键后执行exit(1)退出程序。
6.?把一个文本文件读入内存时,要将ASCII码转换成二进制码,?而把文件以文本方式写入磁盘时,也要把二进制码转换成ASCII码,因此文本文件的读写要花费较多的转换时间。对二进制文件的读写不存在这种转换。
7.?标准输入文件(键盘),标准输出文件(显示器?),标准出错输出(出错信息)是由系统打开的,可直接使用。文件关闭函数fclose文件一旦使用完毕,应用关闭文件函数把文件关闭,?以避免文件的数据丢失等错误。
如果要打开一个CCDOS子目录中, 文件名为CLIB的二进制文件, 可写成:fopen("c:\\ccdos\\clib", "rb");如果成功的打开一个文件, fopen()函数返回文件指针,?? 否则返回空指针(NULL)。由此可判断文件打开是否成功。2. fclose()函数?? fclose()函数用来关闭一个由fopen()函数打开的文件 , 其调用格式为:?? nt fclose(FILE *stream);?? 该函数返回一个整型数。当文件关闭成功时, 返回0, 否则返回一个非零值。可以根据函数的返回值判断文件是否关闭成功。 例子:FILE *fpOut=fopen(“c:\\a.txt”,”wt+”);Int a=1;Fprintf(fpOut,”%d”,a);Fclose(fpOut);
如何用C语言fopen函数实现这样的文件打开功能?
部分方法:\x0d\x0afopen的函数原型:FILE * fopen(const char * path,const char * mode);\x0d\x0afopen函数的第一个参数是文件路径,第二个参数是打开方式,有以下几种方式:\x0d\x0ar 以只读方式打开文件,该文件必须存在。\x0d\x0ar+ 以可读写方式打开文件,该文件必须存在。\x0d\x0arb+ 读写打开一个二进制文件,允许读数据。\x0d\x0arw+ 读写打开一个文本文件,允许读和写。\x0d\x0aw 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。\x0d\x0aw+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。\x0d\x0aa 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)\x0d\x0aa+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)\x0d\x0awb 只写打开或新建一个二进制文件;只允许写数据。\x0d\x0awb+ 读写打开或建立一个二进制文件,允许读和写。\x0d\x0awt+ 读写打开或着建立一个文本文件;允许读写。\x0d\x0aat+ 读写打开一个文本文件,允许读或在文本末追加数据。\x0d\x0aab+ 读写打开一个二进制文件,允许读或在文件末追加数据。\x0d\x0a上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。\x0d\x0a\x0d\x0aC语言的文件处理的过程是,先声明一个文件指针,然后用fopen函数打开文件,fopen打开文件成功的话返回一个指针该流的文件指针,然后利用指针对文件进行操作就好了,最后完事了在fclose函数关闭流,并释放指向他的指针。\x0d\x0a例如:要对c:\example.txt的文本文件内容为:ISP,进行操作\x0d\x0a#include \x0d\x0a\x0d\x0aint main()\x0d\x0a{\x0d\x0achar ch;\x0d\x0aFILE* fp;\x0d\x0achar fname[50] = "c:\example.txt";\x0d\x0afp = fopen(fname,"r"); //只供读取\x0d\x0aif(fp == NULL) //如果失败了\x0d\x0a{\x0d\x0aprintf("ERROR!");\x0d\x0areturn 1;\x0d\x0a}\x0d\x0a//getc()用于在打开文件中获取一个字符\x0d\x0awhile((ch = getc(fp)) != EOF) //循环获取直至文件结束 EOF标志(End Of File)\x0d\x0aputchar(ch); //打印获取到的字符\x0d\x0afclose(fp); //关闭文件\x0d\x0areturn 0;\x0d\x0a}\x0d\x0a\x0d\x0a希望对你有帮助!