fopenfp=fopen(p,"wb")什么意思?

fopen  时间:2021-08-04  阅读:()

c语言 fopen有关

写.txt文件的 #include<stdio.h> void main() { FILE *fp; char buffer[256]; float pi=3.1415926; if ( fp=fopen("data.txt","w+") ) { sprintf(buffer,"Hello world! "); fputs(buffer,fp); sprintf(buffer,"PI=%f ",pi); fputs(buffer,fp); fclose(fp); } } 读文件的 #include<stdio.h> void main() { FILE *fp; char buffer[256]; float pi; if ( fp=fopen("data.txt","r") ) { while ( !feof(fp) ) { fgets(buffer,256,fp); printf("%s",buffer); } fclose(fp); } }

关于c语言中fopen的打开方式

这个网站的资料大部分是windows和linux通用的。

/develop/c&c++/linux_c/default.htm fopen(打开文件) 相关函数 open,fclose 表头文件 #include<stdio.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()后请作错误判断及处理。

范例 #include<stdio.h> main() { FILE * fp; fp=fopen(“noexist”,”a+”); if(fp= =NULL) return; fclose(fp); }

fopen函数用法

fopen("...","...") 第一个参数是指向一个文件,如果当前文件不存在,系统会创建这个文件名。

第二个参数是对这个文件进行的操作。

例如,只读,读写,写等。

请参看下面的程序,了解其具体用法。

下面程序实现的是在zhubihui.txt中写入创建子程序的结果。

#include <stdio.h> #include <stdlib.h> #include <unistd.h> main() { int p1,p2,i; FILE *fp; fp=fopen("zhubihui.txt","w+"); if(fp==NULL) {printf("Fail to create file"); exit(-1); } while((p1=fork())==-1); if(p1==0) {lockf((int)fp,1,0); for(i=0;i<10;i++) fprintf(fp,"daughter%d ",i); lockf((int)fp,0,0); } else {while((p2=fork())==-1); if(p2==0) {lockf((int)fp,1,0); for(i=0;i<10;i++) fprintf(fp,"son%d ",i); lockf((int)fp,0,0); } else { wait(NULL); lockf((int)fp,1,0); for(i=0;i<10;i++) fprintf(fp,"parent%d ",i); lockf((int)fp,0,0); } } fclose(fp); }

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 &lt;stdio.h&gt; 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; }

fp=fopen(p,"wb")什么意思?

打开文件根据fopen的返回值(fp),判断该文件是否打开 比如说if((fp=fopen(filename,"wb"))==NULL){fprintf(stderr,"Error opening file.");exit(1);}该段语句的意思是:打开文件名为filename的文件,根据fopen的返回值(fp),判断该文件是否打开,如果没有打开,则打印"Error opening file"信息,然后退出程序,如果正确打开,则跳过这里,执行后面的语句,

cera:秋季美国便宜VPS促销,低至24/月起,多款VPS配置,自带免费Windows

介绍:819云怎么样?819云创办于2019,由一家从2017年开始从业的idc行业商家创办,主要从事云服务器,和物理机器819云—-带来了9月最新的秋季便宜vps促销活动,一共4款便宜vps,从2~32G内存,支持Windows系统,…高速建站的美国vps位于洛杉矶cera机房,服务器接入1Gbps带宽,采用魔方管理系统,适合新手玩耍!官方网站:https://www.8...

raksmart:香港机房服务器实测评数据分享,告诉你raksmart服务器怎么样

raksmart作为一家老牌美国机房总是被很多人问到raksmart香港服务器怎么样、raksmart好不好?其实,这也好理解。香港服务器离大陆最近、理论上是不需要备案的服务器里面速度最快的,被过多关注也就在情理之中了。本着为大家趟雷就是本站的光荣这一理念,拿了一台raksmart的香港独立服务器,简单做个测评,分享下实测的数据,仅供参考!官方网站:https://www.raksmart.com...

JustHost:俄罗斯/新西伯利亚vps,512MB内存/5GB空间/不限流量/200Mbps/KVM/自由更换IP,$1.57/月

justhost怎么样?justhost是一家俄罗斯主机商,2006年成立,提供各种主机服务,vps基于kvm,有HDD和SSD硬盘两种,特色是200Mbps不限流量(之前是100Mbps,现在升级为200Mbps)。下面是HDD硬盘的KVM VPS,性价比最高,此外还有SSD硬盘的KVM VPS,价格略高。支持Paypal付款。国内建议选择新西伯利亚或者莫斯科DataLine。支持Paypal付...

fopen为你推荐
免费qq号有免费的QQ号和密码可以用的?密码设置开机密码怎么设定?第五人格抄袭有像第五人格那种游戏吗?什么是fpgaFPGA 图像处理印度it印度的IT业spinmaster那个街球队 叫什么And1的 球队和球员介绍比特币官方客户端bitcoin cash(BCC)是什么比特币官方客户端如何查询比特币、莱特币确认 ?tplink端口映射TPLINK路由器怎么设置端口映射网站维护收费网站建设及维护需要多少钱?
vps推荐 hkbn enzu inmotionhosting tightvnc 北京双线机房 adroit 亚马逊香港官网 空间合租 带宽租赁 主机管理系统 帽子云排名 photobucket 阿里云手机官网 中国联通宽带测试 黑科云 小夜博客 mteam 2016黑色星期五 nic 更多