C语言文件打开函数

怎么有的定义charfilename有的定义。char*filename[]然后fp=fopen(filename,"r")filename到底应该是地址还是字符串... 怎么有的定义char filename有的定义。char*filename[]然后fp=fopen(filename,"r")
filename到底应该是地址还是字符串
展开
 我来答
郝在益
推荐于2016-07-06 · TA获得超过2079个赞
知道小有建树答主
回答量:1496
采纳率:54%
帮助的人:614万
展开全部
这里你需要搞明白一点,就是字符串的名其实就是一个地址,指向的是字符串的第一个字符的地址。这样说有可能很不好理解,我给你举一个例子吧。
比如,你定义一个char a[10];
那么这个时候,a其实就是一个地址,指向的就是a[0]这个字符,也可以说是指向了整个字符串。
再说说你的问题吧,你其实搞混淆了,filename在函数fopen里其实就是一个字符串指针,你可以定义字符串char filename[] = ”c://1.txt“来保存地址,因为这个时候filename也是一个字符串指针,指向这段内存的一个指针。你也可以直接定义一个字符串指针来指向一段内存,如char *filename = "c://1.txt"。
这2种都是可以的。没有谁对谁错,就看你自己怎么选择了。
满意请采纳,谢谢。
追问
谢谢了。字符串的名字可以看作地址。a可以是指向a[0]的地址。最近急着看都看糊涂了。三天看完这教材= =!
琉璃易碎smile
推荐于2016-02-04 · TA获得超过1.6万个赞
知道大有可为答主
回答量:4789
采纳率:92%
帮助的人:305万
展开全部
ANSI C规定文件打开用函数fopen,关闭为fclose。
1、调用方式通常为:
代码如下:
FILE *fp;
fp=fopen(文件名, 打开方式);
2、参数说明:
文件名: 形如"myfile.dat"、"F:\data\myfile.dat"等等;
打开方式:
"r"(只读) 为输入打开一个文本文件
"w"(只写) 为输出打开一个文本文件
"a"(追加) 向文件文件尾添加数据
"rb"(只读) 为输入打开一个二进制文件
"wb"(只写) 为输出打开一个二进制文件
"r+"(读写) 为读写打开一个文本文件
"w+"(读写) 为读写建立一个新的文本文件
"a+"(读写) 为读写打开一个文本文件
"rb+"(读写) 为读写打开一个二进制文件
"wb+"(读写) 为读写建立一个新的二进制文件
"ab+"(读写) 为读写打开一个二进制文件
3、注意:
(1)用"r"方式打开的文件,不能向其输入数据,并且该文件已存在,否则出错;
(2)用"w"方式打开的文件,只能向该文件输入数据,如果所打开的文件不存在,则在打开时新建一个以指定的名字命名的文件;如果指定文件存在,则在打开时将该文件删去,然后新建一个新的文件;
(3)如果函数fopen打开文件出错,则fopen返回一个空指针值NULL;
(4)在程序开始运行时,系统自动打开3个标准文件:标准输入(stdin),标准输出(stdout),标准出错输 出(stderr)。如果要使用输入输出终端,则不需要打开,可以直接使用,如fputc(stdout,'a');向屏幕输出字符a。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
救赎削肾客
2013-07-06 · TA获得超过1186个赞
知道大有可为答主
回答量:1196
采纳率:0%
帮助的人:936万
展开全部
 FILE *fopen( 

   const char *filename,

   const char *mode 

);

上面是函数申明

字符串

char filename,有这样定义的吗??

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1442c68
2013-07-06 · TA获得超过1083个赞
知道大有可为答主
回答量:4466
采纳率:57%
帮助的人:807万
展开全部
指向文件名的一个指针(地址)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
似夕水每
2013-07-06 · TA获得超过196个赞
知道小有建树答主
回答量:174
采纳率:0%
帮助的人:94.6万
展开全部
filename 只是叫用户输入一个需要打开的一个文件的名字 就只是一个文件名而已
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式