本篇文章给大家谈谈c语言打开文件fopen,以及c语言打开文件读取数据对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、c语言fopen函数打开文件2、C语言fopen函数中文件打开方式(参数值)3、如何用C语言fopen函数实现这样的文件打开功能?4、c语言fopen怎么用5、如何利用c语言打开文本文件?6、关于c语言中fopen的打开方式
c语言fopen函数打开文件
file
*p=fopen(“a.txt”,”r”);
用”r”打开的a.txt文件,该文件的数据只能被读进来,但是你不能对a.txt文件进行任何的修改。
而file
*p=fopen(“a.txt”,”w”);
则是写格式,这样你可以进行写操作。
以上file
*p都是文件指针。
C语言fopen函数中文件打开方式(参数值)
C语言fopen函数用于打开文件。
函数原型:FILE
*
fopen(const
char
*
path,const
char
*
mode);
参数:
path
字符串类型,表示文件所在的路径,包括文件名
mode
打开文件的模式、
返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno
中。
mode:
r
以只读方式打开文件,该文件必须存在。
r+
以可读写方式打开文件,该文件必须存在。
rb+
读写打开一个二进制文件,允许读写数据,文件必须存在。
w
打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+
打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a
以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+
以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
(原来的EOF符不保留)
wb
只写打开或新建一个二进制文件;只允许写数据。
wb+
读写打开或建立一个二进制文件,允许读和写。
ab+
读写打开一个二进制文件,允许读或在文件末追加数据。
实例:
#includestdio.h
#define
F_PATH
“d:\\myfile\\file.dat”
int
main(void)
{
FILE*fp=NULL;//需要注意
fp=fopen(F_PATH,”r”);
if(NULL==fp)
{
return
-1;//要返回错误代码
}
fclose(fp);
fp=NULL;//需要指向空,否则会指向原打开文件地址
return
0;
}
如何用C语言fopen函数实现这样的文件打开功能?
部分方法:
fopen的函数原型:FILE * fopen(const char * path,const char * mode);
fopen函数的第一个参数是文件路径,第二个参数是打开方式,有以下几种方式:
r 以只读方式打开文件,该文件必须存在。
r+ 以可读写方式打开文件,该文件必须存在。
rb+ 读写打开一个二进制文件,允许读数据。
rw+ 读写打开一个文本文件,允许读和写。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
wb 只写打开或新建一个二进制文件;只允许写数据。
wb+ 读写打开或建立一个二进制文件,允许读和写。
wt+ 读写打开或着建立一个文本文件;允许读写。
at+ 读写打开一个文本文件,允许读或在文本末追加数据。
ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。
上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。
C语言的文件处理的过程是,先声明一个文件指针,然后用fopen函数打开文件,fopen打开文件成功的话返回一个指针该流的文件指针,然后利用指针对文件进行操作就好了,最后完事了在fclose函数关闭流,并释放指向他的指针。
例如:要对c:\example.txt的文本文件内容为:ISP,进行操作
#include stdio.h
int main()
{
char ch;
FILE* fp;
char fname[50] = “c:\example.txt”;
fp = fopen(fname,”r”); //只供读取
if(fp == NULL) //如果失败了
{
printf(“ERROR!”);
return 1;
}
//getc()用于在打开文件中获取一个字符
while((ch = getc(fp)) != EOF) //循环获取直至文件结束 EOF标志(End Of File)
putchar(ch); //打印获取到的字符
fclose(fp); //关闭文件
return 0;
}
希望对你有帮助!
c语言fopen怎么用
fopen一般与buf搭配使用,通过与fgets函数配合使用,将文件中的字符串读到buf中,这样达到读出文件内容的目的代码如下:
FILE tf=NULL;//定义一个文件指着,用于判断fopen是否打开成功,并初始化为空;
char buf[1024]={0};//定义一个长度为1024的数组,用于存放文件的内容;
tf=fopen(“c:\example.txt”,”r”);//打开c盘指定文件,并以只读的形式打开,避免破坏原文件,将fopen的返回值放在指针tf中,若打开成功,则返回成功的指针,打开不成功则返回空;
if(tf != NULL)//判断是否成功,不等于NULL则表示成功;
{
if(fgets(buf,1024,tf) != NULL)//将指向c盘文件的指针的内容赋给buf,长度为1024,并判断是否获取成功;
{
printf(“buf=%s\n”,buf);//将成功获取的字符串显示在屏幕上;
}
}
fclose(tf);//将已打开的文件关闭;
扩展资料:
fopen的工作原理
FILE *fp;
fp=fopen(“filename.txt”,”w”);
首先检测filename.txt是否存在,如果不存在则在磁盘 创建该文件,然后在内存开辟区域(应该是缓冲区)准备写该文件
调用fclose时,将内存中的内容写入到磁盘中去
测试(filename.txt不存在):
#include stdio.h
#include stdlib.h
int main()
{
FILE *fp1,*fp2;
fp1=fopen(“filename.txt”,”w”);
if(fp1==NULL)
{
printf(“fp1 open failed!/n”);
}
else
{
printf(“fp1 open success!/n”);
}
fp2=fopen(“filename.txt”,”r”);
if(fp2==NULL)
{
printf(“fp2 open failed!/n”);
}
else
{
printf(“fp2 open success!/n”);
}
fclose(fp1);
fclose(fp2);
return 0;
}
输出:
fp1 open success!
fp2 open success!
说明文件操作不是互斥的,而且以写方式打开文件,如果文件不存在,先在磁盘创建该文件
加入写入语句:
#include stdio.h
#include stdlib.h
int main()
{
FILE *fp1,*fp2;
fp1=fopen(“filename.txt”,”w”);
if(fp1==NULL)
{
printf(“fp1 open failed!/n”);
}
else
{
printf(“fp1 open success!/n”);
fputs(“abcdef”,fp1);
}
fp2=fopen(“filename.txt”,”w”);
if(fp2==NULL)
{
printf(“fp2 open failed!/n”);
}
else
{
printf(“fp2 open success!/n”);
fputs(“ABC/n”,fp2);
}
fclose(fp1);
fclose(fp2);
return 0;
}
打开filename.txt文件:
ABC
f
说明后关闭的,刷新了磁盘数据
参考资料来源:fopen-百度百科
如何利用c语言打开文本文件?
C程序语言非常强大,通过打开文本的函数(里面的参数指出要打开文本的位置及文件名),即可打开相应的文本。
第一,包含的头文件:
#include stdio.h,这是一个输入输出函数,
第二,打开文本文件:
FILE *file = fopen(“c:\\1.txt”,”r”);代表C盘的文件,文件名为1.txt,r表示以只读的方式打开,
第二个参数表示打开方式,
“a” 表示追加方式打开,
“r” 表示以读方式打开,
“w” 表示以写方式打开,
第三,读入文本文件中的数据:
方法:
char s[10] = “”;
while (!feof(file))
fread(s,1,1,file);
通过fread函数对打开的文件进行读和写操作,也就是这样来改变文件的内容。
关于c语言中fopen的打开方式
这个网站的资料大部分是windows和linux通用的。
;c++/linux_c/default.htm
fopen(打开文件)
相关函数
open,fclose
表头文件
#includestdio.h
定义函数
FILE * fopen(const char * path,const char * mode);
函数说明
参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。
mode有下列几种形态字符串:
r 打开只读文件,该文件必须存在。
r+ 打开可读写的文件,该文件必须存在。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。
上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。不过在POSIX系统,包含Linux都会忽略该字符。由fopen()所建立的新文件会具有S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)权限,此文件权限也会参考umask 值。
返回值
文件顺利打开后,指向该流的文件指针就会被返回。若果文件打开失败则返回NULL,并把错误代码存在errno 中。
附加说明
一般而言,开文件后会作一些文件读取或写入的动作,若开文件失败,接下来的读写动作也无法顺利进行,所以在fopen()后请作错误判断及处理。
范例
#includestdio.h
main()
{
FILE * fp;
fp=fopen(“noexist”,”a+”);
if(fp= =NULL) return;
fclose(fp);
}
c语言打开文件fopen的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言打开文件读取数据、c语言打开文件fopen的信息别忘了在本站进行查找喔。