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

C语言中的fopen()函数打开文件时,文件名有什么限制吗?为什么当我的文件名包含点或者下划线时,打开操作总是失败的?万分感激。

文件名必须是一个C字符串,它是符合操作系统标准的合法文件,含.和下划线不会错。
如:
FILE *fin = fopen("data_.dat", "r");

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

由于\为转义操作符,故目录要用两个\\
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-07-13

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

    英文字母: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";

第2个回答  2007-01-04
文件名没有限制,含点和下划线也没有问题,用引号引起来即可,路径中的“\”要写成"\\"或者“/”
第3个回答  2007-01-04
没限制~
相同目录下的文件即可
不带后缀
xx
fopen("xx",fp);
带的
text.txt
fopen("text.txt",fp)
第4个回答  2007-01-04
没有把,不过转义字符应该不能用

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网