C语言中的fopen()函数打开文件时,文件名有什么限制吗?为什么当我的文件名包含点或者下划线时,打开操作总是失败的?万分感激。
文件主名和扩展名可以使用的字符是:
英文字母:A—z(大小写等价)
数 字:0—9
汉 字
特殊符号:$#&@()-[]^~等。
各种控制字符和下列字符不能用在文件名中:< > / \ | : " * ? //这些字符已做它用
文件名字母大小写的区分:
DOS下文件名不区分大小写。
在Windows系统下,显示区分大小写,读写操作时不区分。
在类Unix/Linux系统下,区分字母大小写。
文件名长度的限制:
DOS下文件名长度应为 8.3 即8位文件名3位扩展名。
在Windows系统下,可以多个扩展名,以最后一个为准,文件名长度255。
在类Unix/Linux系统下,文件名长度255,带路径的长度1024,也有系统4096。
文件名可以直接写进去函数里,也可以放在变量里:
FILE *fp;文件名若带路径,单反斜杠要写成双反斜杠,例如:
char namein[]="C:\\path\\abc.txt";