‘壹’ c语言中用 fopen 打开文件怎样包含文件目录路径名
你用
file
=
false;
while(!file)
{
//读取文件名
file=!fopen("文件名",mode)
}
这样的结构就可以了
‘贰’ 想请教个C语言的include“文件名”的使用规则
C语言的include
"文件名",原理上是将整个"文件名"包含的内容插入当前的程序中
所以,一般"文件名"为.h文件,内容是程序中用到的数据结构的声明.外部变量的声明(不含定义)
当然,也有不正规的用法(如你的)将一股程序插入到另一程序中(实际开发中没有人这么用的,因为你可以用工程,一个工程可以包含多个文件的)
你后面的问题是,
你先包含了add.c,而它要用的数据结构在前面没有定义,你在它后面定义当然是错的
C的变量/类型要先声明后使用的
在第二种情况下,你可以把
#include
"add.c"
放在Emplist;的后面也没有问题
但你的做法是不合理的,一个真正的工程可能会有十几或更多的.c程序
它们不可能通过include组合到一起的
你可以看任何教程(当然是正规经典的教程)
上面只有
#include
"xxxx.h"
不可能有
#include
"xxxx.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语言内部预定义了一个宏“_FILE_”,该宏存放当前编译的文件名。当要使用文件名时用该宏就可以了。比如printf("%s",_FILE_)
‘伍’ C语言include(包含文件)怎么用
编辑一个头文件,例如myhead.h
里面写一个函数
substr(char *,char *)
{
............
return substring;
}
把这个头文件放在C的运行目录的include目录中
然后在主程序中写
#include <???.h> /*您的头文件*/
main()
{
substr.... 直接引用就可以了
}
‘陆’ 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]={'