C语言中的fopen()函数打开文件时,文件名有什么限制吗?

C语言中的fopen()函数打开文件时,文件名有什么限制吗?为什么当我的文件名包含点或者下划线时,打开操作总是失败的?万分感激。... C语言中的fopen()函数打开文件时,文件名有什么限制吗?为什么当我的文件名包含点或者下划线时,打开操作总是失败的?万分感激。 展开
 我来答
fengjian_net
推荐于2018-02-11 · TA获得超过2864个赞
知道大有可为答主
回答量:1799
采纳率:50%
帮助的人:2497万
展开全部
文件名必须是一个C字符串,它是符合操作系统标准的合法文件,含.和下划线不会错。
如:
FILE *fin = fopen("data_.dat", "r");

FILE *fout = fopen("C:\\temp\\o_data.dat", "w");

由于\为转义操作符,故目录要用两个\\
HannYoung
推荐于2016-07-13 · 知道合伙人金融证券行家
HannYoung
知道合伙人金融证券行家
采纳数:4017 获赞数:18731
毕业某财经院校,就职于某国有银行二级分行。

向TA提问 私信TA
展开全部

文件主名和扩展名可以使用的字符是:

  • 英文字母:A—z(大小写等价)

  • 数 字:0—9

  • 汉 字

  • 特殊符号:$#&@()-[]^~等。

  • 各种控制字符和下列字符不能用在文件名中:< > / \ | : " * ?     //这些字符已做它用


文件名字母大小写的区分:

  • DOS下文件名不区分大小写。

  • 在Windows系统下,显示区分大小写,读写操作时不区分。

  • 在类Unix/Linux系统下,区分字母大小写。


文件名长度的限制:

  • DOS下文件名长度应为 8.3 即8位文件名3位扩展名。

  • 在Windows系统下,可以多个扩展名,以最后一个为准,文件名长度255。

  • 在类Unix/Linux系统下,文件名长度255,带路径的长度1024,也有系统4096。


文件名可以直接写进去函数里,也可以放在变量里:

FILE *fp; 
char namein[]="abc.txt";
fp=fopen(namein,"r");
或 fp=fopen("abc.txt","r");


文件名若带路径,单反斜杠要写成双反斜杠,例如:

char namein[]="C:\\path\\abc.txt";

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6e4b388b5
2007-01-04 · TA获得超过471个赞
知道小有建树答主
回答量:346
采纳率:0%
帮助的人:0
展开全部
文件名没有限制,含点和下划线也没有问题,用引号引起来即可,路径中的“\”要写成"\\"或者“/”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0a9ebac
2007-01-04 · TA获得超过813个赞
知道小有建树答主
回答量:1360
采纳率:0%
帮助的人:1215万
展开全部
没限制~
相同目录下的文件即可
不带后缀
xx
fopen("xx",fp);
带的
text.txt
fopen("text.txt",fp)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b87df9823
2007-01-04 · TA获得超过120个赞
知道小有建树答主
回答量:193
采纳率:0%
帮助的人:98.6万
展开全部
没有把,不过转义字符应该不能用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式