c语言,c != EOF 表示判断该字符是否文件结束指示符,那我要输入什么才能让程序判断输入的字符是文件结束符

while(c != EOF){
putchar(c);
c = getchar();
}

可以在程序中加入有限比较函数strncmp(constchar*s1,constchar*s2,size_tn),然后指定一个字母或者语句为条件,成立时通过If语句和break配合来退出。这里有个代码给你参考看看。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main()

{

//1.指定一个文件名

char fileName[256];

printf("请输入文件名:\n");

scanf("%s", fileName);

getchar();

//2.打开文件

FILE *fp = fopen(fileName, "w");

//3.判断文件可用性

if (!fp)

{

return -1;

}

//4.循环录入内容

char buf[1024];

while (1)

{

memset(buf, 0,1024);

fgets(buf, 1024, stdin);

//5.退出命令 comm=exit

//if (strcmp(buf,"comm=exit"))

//此比较有问题,因为当用fgets录入时,如果小于1024时,其会在末尾加上一个回车作为换行操作

if (!strncmp(buf, "comm=exit", 9))//所以这里用有限比较.(相同为0)

{

break;

}

//6.将字符串写入文件中

int i = 0;

while (buf[i])

fputc(buf[i++], fp);//写到文件到中

}

//7.关闭文件

fclose(fp);
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-08-09
按ctrl+z
这个ctrl+z 不是跟在字符串结尾的。是另起一行开头打。比如先输入一个absdf,然后回车,然后再输入ctrl+z ,然后回车。。。追问

按Ctrl+Z,再按回车,显示结果是换行并把刚输入的字符复制,跟在后面的是->这个箭头,这样做的意义是什么啊

追答

这个ctrl+z 不是跟在字符串结尾的。是另起一行开头打。比如先输入一个absdf,然后回车,然后再输入ctrl+z ,然后回车。。。

追问

1、“先输入一个absdf,然后回车”,这个时候怎么又显示absdf在新行上呢

2、“然后再输入ctrl+z ,然后回车”,表示这个位置是文件结束的地方吗

追答

1、你新一行显示的absdf不是putchar(c);这句话输出的么?!
2、是的。这个ctrl+z前面通常没有东西,自己在最后一行

追问

哦 明白了 非常感谢

本回答被提问者采纳
第2个回答  2012-08-09
按Ctrl+Z,再按回车。不行,再重复一遍。追问

按Ctrl+Z,再按回车,显示结果是换行并把刚输入的字符复制,跟在后面的是->这个箭头,这样做的意义是什么啊

第3个回答  2012-08-09
按住ctrl键,再输入字母z,然后回车追问

按Ctrl+Z,再按回车,显示结果是换行并把刚输入的字符复制,跟在后面的是->这个箭头,这样做的意义是什么啊

追答

什么意义?
没什么意义啊,这不你要以EOF来结束输入从而退出循环吗?
你程序的意义就是复制显示输入的字符啊。这是你自己的应用逻辑,你程序这样做的。

c语言,c != EOF 表示判断该字符是否文件结束指示符,那我要输入什么才能...
按ctrl+z 这个ctrl+z 不是跟在字符串结尾的。是另起一行开头打。比如先输入一个absdf,然后回车,然后再输入ctrl+z ,然后回车。。。

c语言中!=EOF是什么意思?
EOF为End Of File的缩写,在操作系统中表示资料源无更多的资料可读取。DO while not EOF(1)解释:判断当eof(1)的值为true时停止do循环。使用EOF是为了避免因试图在文件结尾处进行输入而产生的错误。直到到达文件的结尾,EOF函数都返回False。对于为访问Random或Binary而打开的文件,直到最后一次执行的Get...

c语言中!=EOF是什么意思啊
!=是不等于,EOF是文件结尾标志,所以意思是没有到文件结尾 EOF是一个计算机术语,为End Of File的缩写,在操作系统中表示资料源无更多的资料可读取。资料源通常称为档案或串流。通常在文本的最后存在此字符表示资料结束。

c语言中eof是什么意思?
在C语言中,EOF是一个常量,用于表示文件的结束。它是一个特殊的值,用于在读取文件时标识已经到达文件的末尾。当使用输入函数读取文件时,如果到达文件末尾或遇到读取错误,函数会返回EOF作为指示。这使得程序员能够判断何时已经读取完文件的所有内容。详细解释如下:在C语言中处理文件时,我们经常需要从文件...

C语言中EOF是什么意思啊?具体怎么运用啊?
eof在c语言中表示文件结束符。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。ASCII代码值的范围是0~127,不可能出现-1,因此可以用EOF作为文件结束标志。档案存取或其它 I\/O 功能可能传回等于象征符号值 ...

c语言里面的EOF的用法及意义
include <stdio.h>int main(){char c;while((c = getchar()) != EOF){putchar(c);}return 0;} 说明:在Windows上按CTRL+Z键,表示EOF。注意:EOF虽然是文件结束符,但并不是在任何情况下输入Ctrl+D(Windows下Ctrl+Z)都能够实现文件结束的功能,只有在下列的条件下,才作为文件结束符。(1...

c语言中的EOF
EOF是End Of File的意思,在C语言中定义的一个宏,用作文件结束标志。从数值角度看,就是-1。从一个终端的输入从来不会真的“结束”(除非设备被断开),但把从终端输入的数据分区成多个“文件”却很有用,因此一个关键的序列被保留下来来指明输入结束。在UNIX和AmigaDOS中,将击键翻译为EOF的过程...

!=EOF在C语言里是什么意思,怎么用,请教高手
EOF 其实是个宏,定义为 -1 只要在不等于-1的时候都可以这样用,但是这个宏更多用来放在读文件的时候用,比如fgetc,读到文件结尾就返回-1,也就是EOF char c;while ( (c = fgetc(fp)) != EOF ){ }

c语言中feof是什么意思
在C语言中,feof是一个极其实用的函数,它用于判断一个文件是否已到达其结尾,无论是二进制文件还是文本文件。这个函数的返回值有明确指示:当文件结束时,feof(fp)会返回1,否则返回0。EOF,即文件结束标志,对于文本文件特别适用,因为字符数据以ASCⅡ码的形式存储,其范围在0到255,而-1是不可能出现...

请教c语言中的eof问题
eof是函数 是判断文件是否结束的函数 如果文件已经结束 那么他返回EOF EOF是文件里面的数据的宏定义 就像字符串里的\\0

相似回答