⑴ c语言里有几种文件格式有“.c”文件格式吗
主要是两种文件类型:1)文本文件,2)二进制文件。
一般来说,人类可读的文件都作为文本文件,例如一片文章。其余都作为二进制文件,例如一个程序。
在C语言中,文件的操作是通过FILE结构体进行了,利用fopen返回一个指向FILE结构体的指针,在使用fopen函数过程中,使用mode控制符对是否打开哪类文件进行控制:
FILE *fopen( const char *filename, const char *mode );
filename:文件名,mode:打开的模式,规定了是可读、可写、追加之类的属性。
r 以只读方式打开文件,该文件必须存在。
r+ 以可读写方式打开文件,该文件必须存在。
rb+ 读写打开一个二进制文件,允许读写数据,文件必须存在。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
wb 只写打开或新建一个二进制文件;只允许写数据。
wb+ 读写打开或建立一个二进制文件,允许读和写。
ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。
如果调用失败,返回一个空指针。
⑵ C语言Ctrl+z是EOF么
C语言中,EOF即文档的结尾.但是,当你写一个小程序,并以EOF作为判断条件时,就无法输入文档的结尾了,只能人工输入一个,这个人工输入的文档结尾就是Ctrl+Z
比如:
#include
<stdio.h>
int
main()
{
int
c;
do
{
printf("请输入文档的结尾标志");
}while((c=getchar())!=EOF);
printf("已得到文档结束标志");
return
0;
}
当程序运行的时候,没有文档结尾,只能找一个命令来替代文档结尾,那就是Ctrl+z
如上面的一段程序,当你输入Ctrl+z的时候,程序提示已得到文档结束标志
⑶ 求C语言EOF和Ctrl+Z,到底是怎么回事。要EOF到正确用法最好有例子。
晕啊,这两个没有什么关系吧?eof是文件结束符,也就是一个文件的结束符号,就比如c语言字符串是以\0结尾一样,一般eof使用在读取文件的时候如果读到了文件末尾那么这个读文件退出。当然你可以使用eof的宏定义的值做其他的事情。
而ctrl+Z这是一个外部操作,不依赖于程序内部哇。从原来上来说这是通过信号量实现来实现的,这个是操作系统层面的东西哦,楼主对信号量有概念不?程序的运作过程中,你使用ctrl+Z,操作系统会产生一个信号发送给进程,进程可以捕获此信号做操作的。如果没有捕获那么调用操作系统默认的操作,ctrl+C就是结束进程。
⑷ C语言源程序文件名的后缀是什么
是.cpp,查看方法:
1、打开C语言的ide,比较常用的dev c++,如下图所示
⑸ C语言头文件后缀都有哪些~~
#include <文件名>
编译器是通过文件名把文件展开,它是不认文件名是不是.h结尾,换句话,只要是合法的文件名均可以.
PS:另外,文件名不一定有后缀名,在linux系统到处都是没有后缀的文件名。比如MakeFile.
⑹ 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语言中,文件结束符就是EOF(End of File)。但这并不是一个实实在在存在的东西,是一个标志:若读取到文件末尾的时候,即没有数据可供读取的时候,读文件函数(fgets, fgetc等)就会返回EOF值。
C语言中,EOF是个宏,在stdio.h文件中进行定义:
#define EOF (-1)
即:EOF就是整型数-1。
我们写程序,可以通过判断读文件函数的返回值,来判断是否到了文件尾。
C语言中,标准输入也是一种特殊的文件,但这个"文件”并没有具体的结束位置,所以,只能人为的创造结束位置 :
windows下,在输入的空行位置,按ctrl+z可产生EOF
linux下,在输入时,按ctrl+d可产生EOF
⑻ C语言怎么判断文件的行尾
fgets()函数,读出来,如果有行尾,最后一个是'\n'之后是结束符
gets()从键盘读取一行会把换行符丢弃,但是fgets()不会丢弃,换行符是文件内容之一,如果一行太大,分几次读了,前几次都没有'\n‘ 一个'\n'也可以看做是一个段的结束符。
要用文本方式打开文件,找到'\n'就是行尾了,如果用二进制方式打开,则可能是'\r'和'\n'两个字符,读和写都用文本方式,读出来只要处理'\n'就可以
把行缓冲区定到够大,如10240,这样一次最多读10240字节,一般地都可以一次一整行了,除非10K以上的大段落举例:
#define YOURFILEPATH "D:\\test.txt"
char buf[1024];
FILE* rp;
if((rp=fopen(YOURFILEPATH,"rt"))==NULL){printf("文件%s打开失败",YOURFILEPATH);exit(1);}
while(!feof(rp)){
if(fgets(buf,10240,rp)==buf) printf(buf); //一次一行 读出来打到屏幕上
}
⑼ c语言写系统代码都是以什么结尾
看了你写的几个函数名之后 我猜测你可能写的 学生信息管理系统
写代码 没有什么标准式的结尾,要是你说代码符号的话,那就是函数结束的反括号“ } ”了吧
看了你图片中的代码后给个建议吧,代码一定要注意规范性,在写下一个 “ { ” 后,后面的内容都将它们往后移动几个空格,直到“ } ”为止,这样有助于代码的观看和查找错误