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