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]={'