eof在c语言中表示文件结束符。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。
在文本文件中,数据都是以字符的ASCII代码值的形式存放。ASCII代码值的范围是0~127,不可能出现-1,因此可以用EOF作为文件结束标志。
档案存取或其它 I/O 功能可能传回等于象征符号值 (巨集) EOF 指示档案结束的情形发生。实际上 EOF 的值通常为 -1,但它依系统有所不同。巨集 EOF会在编译原始码前展开实际值给预处理器。
C语言中,EOF常被作为文件结束的标志。还有很多文件处理函数处错误后的返回值也是EOF,因此常被用来判断调用一个函数是否成功。
扩展资料
在 UNIX中, EOF表示能从交互式 shell (终端) 送出 Ctrl+D (习惯性标准)。在微软的 DOS 与 Windows 中能送出 Ctrl+Z。在某些例子处理纯文字档案或从"字元设备"读入资料,微软MS-DOS的 shell 或系统程序会加入ASCIIControl-Z 字元到磁碟档案结束处 (尽管基本核心MSDOS.SYS档案写入呼叫从未附加 Control-Z)。
向下相容于一些奇特的CP/M功能,从CP/M 档案系统只能就记录的档案长度分配多少 128 位元 "记录"。MS-DOS 档案系统从一开始就能精确的记录档案的位元长度。
ASCII控制字符在字元串流是 out-of-band 不可列印字元。通常表可读的助忆码。在控制台要输入eof的话 按ALT+65535就可以。
c语言中EOF的用法 1、EOF是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是档案(file),也可以是标准输入(stdin)。EOF不是特殊字元,而是一个定义在标头档案stdio.h的常量,一般等于-1:#define EOF (-1)。除了表示档案结尾,EOF还可以表示标准输入的结尾。但是,标准输入与档案不一样,无法事先知道输入的长度,必须手动输入一个字元,表示到达EOF。
2、例程:
#include <stdio.h>int main(){char cwhile((c = getchar()) != EOF){putchar(c)}return 0}
说明:在Windows上按CTRL+Z键,表示EOF。
注意:EOF虽然是档案结束符,但并不是在任何情况下输入Ctrl+D(Windows下Ctrl+Z)都能够实现档案结束的功能,只有在下列的条件下,才作为档案结束符。
(1)遇到getcahr函式执行时,要输入第一个字元时就直接输入Ctrl+D,就可以跳出getchar(),去执行程式的其他部分;
(2)在前面输入的字元为换行符时,接着输入Ctrl+D;
(3)在前面有字元输入且不为换行符时,要连着输入两次Ctrl+D,这时第二次输入的Ctrl+D起到档案结束符的功能。
C语言中~的用法?
是条件运算子,相当于 if() else 结构。
1、c语言
C语言是一门通用计算机程式语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编
译、处理低阶储存器、产生少量的机器码以及不需要任何执行环境支援便能执行的程式语言。
2、具体介绍
尽管C语言提供了许多低阶处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出
的C语言程式可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(微控制器或称MCU)以
及超级电脑等作业平台。二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由
美国国家标准局为C语言制定了一套完整的国际标准语法,称为ANSI C,作为C语言最初的标
准。
3、编译器
GCC,GNU组织开发的开源免费的编译器
MinGW,Windows作业系统下的GCC
Clang,开源的BSD协议的基于LLVM的编译器
Visual C++ :: cl.exe,Microsoft VC++自带的编译器
C语言语言中FOR的用法
for 是一个回圈语句,和while是类似的,for一般的用法有:
for(i=0i<10i++)
{
printf("hello world")
}
这里就是输出10次hello world,为什么是10次呢?因为首先i=0,第一次先判断i<10是否成立,成立的话,就执行 printf("hello world"),然后回过来i++,再判断i<10是否成立,成立的话再执行{ }内的程式,最后当i=9时,再回过来i++,i变为10,再判断i<10已经不成立了,所以就结束for语句,i从0~9一共是10次,所以输出10次hello world。while的话也类似的道理。
for也可以这样用:for(int i=0i<10i++) ,这里的i的周期(或者生命)只存在与这个for语句内,当for语句结束后,这个i就不存在了,是个临时变数,其他的话用法基本上就是这样。
C语言中,typedef的用法
定义型别,例如:
typedef long time_t
之后在程式中宣告变数时,
time_t a
就相当于
long a
再如
有
typedef enum{yes,no} yes_no
之后
yes_no a
相当于
enum{yes,no} a
C语言中new的用法?
C语言没有new关键词,应该是C++里面编译设计增加了new new就是动态分配一个堆空间. int *p = new int使用指标指向新分配的连续空间 也可以是.int *p = new int[10]阵列
C语言中rand的用法
rand
语法:
#include <stdlib.h>int rand( void )
功能: 函式返回一个在零到RAND_MAX 之间的伪随机整数。例如: srand( time(NULL) )for( i = 0i <10i++ ) printf( "Random number #%d: %d\n", i, rand() )
在vs中RAND_MAX的预设值是0x7fff
具体可以
#include<stdlib.h>
#include<iostream.h>
void main()
{
cout<<RAND_MAX<<endl
}
来检视大小。
c语言中 free的用法~
malloc用来动态申请记忆体空间,而free用来释放malloc申请的空间。如:
struct
{
int a
int b
}node
main()
{
node *lnode
lnode->a=33
lnode->b=99
lnode=(node*)malloc(sizeof(node))
printf("a=%d b=%d",lnode->a,lnode->b)
free(lnode)
return 0
}
C语言中_at_的用法
at+ 读写开启一个文字档案,允许读或在文字末追加资料。
在vector里用,vector.at(n)表示vector里的下标为n的值。
C语言是一门通用计算机程式语言,应用广泛。
C语言的设计目标是提供一种能以简易的方式编译、处理低阶储存器、产生少量的机器码以及不需要任何执行环境支援便能执行的程式语言。
C语言中messagebox的用法
#include <windows.h>
int main(void)
{
MessageBox(NULL, "你好(内容)", "对话方块(标题)", MB_OK)
return 0
}end main
C语言中char的用法
char是计算机程式语言(c、c++、java、VFP等)中可容纳单个字元的一种基本资料型别。
char 是一个数据型别,作用是定义字元型变数(单个或是字串)。
比方int 是整形资料,int a = 3这里int 是型别, a 是整型变数,3是赋值;
char s = 'A'char是字元型别,s是字元型变数,A是赋值给变数s;
char s[] = "c program"char是字元型别,s[]是字元型阵列,"c program"是赋给阵列的值。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)