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

来源:百度知道 编辑:UC知道 时间:2024/05/20 17:36:34
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[]="abc.txt";
fp=fopen(namein,"r");
或 fp=fopen("abc.txt","r");


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

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

文件名必须是一个C字符