• 6. 库函数


    1. getchar函数

    getchar的原型为

    int getchar();

    在用的时候应该要注意返回的类型为int,防止发生字符被截断。

    2.更新顺序

    在对文件操作(读写交替进行)的时候一定要注意下面的情况

    #include<stdio.h>
    
    
    int main(){
        FILE *f;
        char buf[BUFSIZ];
        f = open("file.name", "a");
        while(fread(buf, sizeof(char), BUFSIZ, f)){
            fseek(f, -(long long) sizeof(char), SEEK_CUR);
            fwrite(buf, sizeof(char), BUFSIZ, f);
            fseek(f, 0, SEEK_CUR);
        }
    
        return 0;
    }
    

      在我们看来有的时候第二个fseek没必要存在,但是这两个都是一定要存在的,不然会发生错误,根据书中介绍,第二个fseek是起到更新文件状态的作用。

    3.缓冲区与输出分配

    有的时候我们需要程序即时输出,我们可以采用如下方法

    1.在对文件进行操作时可以使用fflush进行即时写入文件

    2. 在对标准输出进行即时显示是我们可以使用setbuf(stdout, (char*)0),的形式,我们也可以更改第二个参数进行更改缓冲区如:

    char buf[BUFSIZE];
    setbuf(stdout, buf);

    来进行更改输出到标准输出的缓冲区大小。

    4. 使用error检测错误

    if(expression() == error_value)     //某个操作返回操作不正确的数值
        if(error){
                //检查error
        }

    5. 库函数signal

    该函数在signal.h的头文件中,该函数原型为

    void (*signal(int sig, void (*handle)(int))(int);

    该函数中尽量不使用可重入函数,避免不可冲入函数(很多库函数就属于该类)。

  • 相关阅读:
    【转】ArcGIS 合并要素 Union Dissolve Append Merge
    Linux命令行下编辑常用快捷键
    rpm aid用法
    SUSE 吉祥物图片
    F9初装体验
    openSUSE10、SUSE EVAL10和SUSE10的区别[翻译]
    装有Linux DIY牛人百元人民币昂贵甜头液晶一体机
    SUSE10.3恢复GRUB体例
    64位Fedora还挑CPU
    Ubuntu8.04安置XCrysDen
  • 原文地址:https://www.cnblogs.com/hebust-fengyu/p/12051154.html
Copyright © 2020-2023  润新知