c语言文件名
⑴ c语言文件名命名有什么规则么
C语言文件名命名只要符合标识符命名规则即可,另外,头文件以".h"为后缀,源文件以".c"为后缀。
C语言标识符命名规则:
标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。
不能把C语言关键字作为用户标识符,例如if ,for, while等.
标识符长度是由机器上的编译系统决定的,一般的限制为8字符(注:8字符长度限制是C89标准,C99标准已经扩充长度,其实大部分工业标准都更长)。
标识符对大小写敏感,即严格区分大小写。一般对变量名用小写,符号常量命名用大写。
标识符命名应做到“见名知意”,例如,长度(外语:length),求和、总计(外语:sum),圆周率(外语:pi)……
⑵ C语言文件命名是否有规则
这是因为操作系统的问题,按早期视窗系统传统,文件名是不允许含空格的。后来的视窗系统文件名允许含空格,但在许多方面并未真正更新,出现含空格文件名时会有麻烦。类似的,文件路径的反斜杠也有问题。所以 c语言文件名 最好不要含空格。书写fopen 文件名时,反斜杠要用 双杠替代,例如: fp=fopen("F:\\C\\data\\abc.dat","r");带空格的名字可以这样用:FILE *fp;char fname[80]="a k.dat"; //这个文件名含空格 !int a=0,b=0;if ((fp=fopen(fname,"r"))==NULL) printf("Can not open\n");else {printf("good\n");fscanf(fp,"%d %d",&a,&b); printf("a=%d b=%d",a,b);fclose(fp);};上面文件名 是 a空格k.dat,放在字符数组 char fname[80] 里。fp=fopen(fname,"r");⑶ c语言自定义文件名
1.用C语言自定义文件名,涉及到的相关知识如下:
_finddata_t结构体:
struct _finddata_t {
unsigned attrib ;
time_t time_create ;
time_t time_access ;
time_t time_write ;
_fsize_t size ;
char name [260] ;
}
rename函数:
功能描述:
改变文件的名称或者位置,如果目标已存在,将被自动覆盖。
用法:
#include <stdio.h>
int rename(const char *oldpath, const char *newpath);
参数:
oldpath:旧文件名。
newpath:新文件名或者新位置。
返回说明:
成功执行时,返回0。失败返回-1,errno被设为以下的某个值
EACCES:权能不足
EBUSY:参数oldpath或者newpath代表的是目录,而且一些进程正在使用它们
EFAULT: 内存空间不可访问
EINVAL:参数无效
EISDIR:newpath是一个现存的目录,而oldpath不是目录
ELOOP :路径解析的过程中存在太多的符号连接
EMLINK:目录超出允许的最大连接数
ENAMETOOLONG:路径名超出可允许的长度
ENOENT:路径名部分内容表示的目录不存在
ENOMEM: 核心内存不足
ENOSPC: 磁盘配额限制或空间不足
ENOTDIR:路径名的部分内容不是目录
EPERM : 包含路径名的文件系统不支持建立目录
EROFS:文件系统只读
ENOTEMPTY:newpath是一个非空的目录,除了. 和 ..以外,还包含其它入口。
EEXIST:同上
EXDEV:oldpath和newpath不处于同一文件系统
2.用C语言自定义文件名的代码例程如下:
#include<stdio.h>
#include<io.h>
intmain(intargv,char*argc)
{
longhandle;
inti=0,j=0;
struct_finddata_tfileinfo;
charfilePT[256]={'