用C++ 将键盘输入的字符保存在文件,以及如何结束输入。用了三种方法判断如何结束输入!
#include<stdio.h>
#include<stdlib.h>
//#include<conio.h>
#include<string.h>
// 显示键盘输入的值,然后保存在文件中,当按空回车则结束输入。
void main()
{
FILE *Ptr;
char Line[256];
Ptr = fopen("d:\\1.txt", "w");
if(Ptr)
{
//gets(Line)实际上返回值是Line,不存在返回NULL的情况,所以判断起不到实际作用.
//加一个*之后,实际获得了Line首地址的内容,对于按空回车的情况,返回的是一个空串,所以Line首地址的 //内容就成了'\0',也就是ascii值0,在C语言中,0就是false,所以可以作为循环条件.
while(*gets(Line))
{
fprintf(Ptr, "%s\n", Line);
}
}
else
{
printf("can not open the file");
}
fclose(Ptr);
}
另一种做法
void main()
{
FILE *Ptr;
char Line[256];
Ptr = fopen("d:\\1.txt", "w");
if(Ptr)
{
//中止输入用 Ctrl+Z 或F6快捷键作为循环条件
while(gets(Line))
{
fprintf(Ptr, "%s\n", Line);
}
}
else
{
printf("can not open the file");
}
fclose(Ptr);
}
另一种方法
void main(void)
{
char input[20] = {0};
//中止输入用 Ctrl+Z 或F6快捷键或按空回车作为循环条件
while( gets(input))
{
if (input[0] == '\0')
break;
printf("input is:%s\n",input);
}
}