c語言文件命名
A. c語言文件名
在操作系統使用的游畝簡體中文字元集的情況下,cpp文件名用中文是可行的,這並沒有強制規定,不過呢,如果你不能保證你的程序只在簡體中文字元集的系統下調試,那你還是用個全英文的空格都不帶的文件名,內容中也不帶中文字元,可以保證丟到哪個系統下都可以正常用,
但是,那有必要嗎?當我就只是想在中文WINDOWS下做個小程序時,中文名愛用就用,一神鉛森點問題激蔽都冇得
B. 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. 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]={'