putc在c编程的文件中

时间:2011-07-01 06:46:09

标签: c

我只是在文件处理上创建自己的库以使其更灵活,但是我在这一点上被困在了以下程序中

int filewrite(char *filename,unsigned char number)
{
    FILE *dill;

    if((dill=fopen(filename,"r"))==0)
        return(0);// error no such file exists  returns 0
    else
    {

        if(number==0)
        {
            dill=fopen(filename,"w");

            while(number!='x')
            {
                number=getche();
                putc(number,dill);
            }
        }
        else
        {
            dill=fopen(filename,"a+");

            while(number!='x')
            {
                number=getche();
                putc(number,dill);
            }
        }
    }
}

例如我使条件不等于x所以如果我输入x字母就会终止, 但我希望也可以使用它。但是当我们写入文件时,使用所有字母数字和特殊符号的条件是什么?如果我按Enter键然后它进入下一行但它没有终止我想要使用输入但是怎么说这是使用putc的EOF?帮帮我们

2 个答案:

答案 0 :(得分:0)

如果您希望在按Enter键时终止,可以将while循环更改为:

while((number != 'x') && (number != '\r'))
{
    number=getche();
    putc(number,dill);
}

您还应该使用fclose(dill)关闭文件指针,以确保在程序终止时刷新流并且文件不会保持打开状态。

答案 1 :(得分:0)

如果我理解正确(我不是说我这样做),你希望能够在文件流中输入任何字符,但也可以通过点击'x'<来终止流/ strong>即可。如果这就是你要问的那么这是不可能的。您将不得不想出另一种方法来终止您的流。例如,您可以尝试检测是否按下了CTRL +另一个按钮而不是'x'