C语言fopen函数中文件打开方式(参数值)?

书上说——
“r”表示打开一个用于输入的文本文件;“w”表示打开一个用于输出的文本文件,如果文件不存在,则创建新文件;“a”表示打开一个用于添加的文本文件,如果文件不存在,则创建新文件;等等。
是什么意思?根据什么来选用不同的字符呢?
还有putch是一个什么函数,要把文件读取并显示出来应该用到什么函数呢?
请帮我诊断一下下面的例子(如图)
不好意思,叙述有点混乱。我的意思是这些所谓的“用于输入”、“用于输出”和“用于添加”等等是什么意思,所对应的实际情况是什么,从而根据实际情况选择,不如总不能所有情况都用“r”吧!
另外在书上看到“putch(ch)”,在电脑上实际操作起来错误提示“找不到标识符putch”,所以问一下putch是个什么玩意儿,具体如图




浮云间
浏览 1007回答 3
3回答

千巷猫影

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+ 读写打开一个二进制文件,允许读或在文件末追加数据。实例:#include<stdio.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;}

猛跑小猪

你试一下,加一句:#include <conio.h>看一下,会不会消那个错.

喵喔喔

不知道你问的是什么意思,不过r 只读打开w 只写打开a 追加打开还有相应的带+操作,差不多。fopen接受2个参数(指向文件的指针,打开方式即访问许可类型)fp=fopen("text.txt", a+);就可以了,不过如果你不指定具体位置txt要存在当前文件夹里或者环境变量能找到的地方。_putch就可以输出
打开App,查看更多内容
随时随地看视频慕课网APP