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

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

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;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-02-16
不知道你问的是什么意思,不过r 只读打开
w 只写打开
a 追加打开
还有相应的带+操作,差不多。
fopen接受2个参数(指向文件的指针,打开方式即访问许可类型)
fp=fopen("text.txt", a+);
就可以了,不过如果你不指定具体位置txt要存在当前文件夹里或者环境变量能找到的地方。
_putch就可以输出
第2个回答  推荐于2017-09-24
你试一下,加一句:
#include <conio.h>
看一下,会不会消那个错.本回答被提问者采纳
第3个回答  2009-02-16
没有函数
缺少头文件
相似回答