zoukankan      html  css  js  c++  java
  • 10、C语言——位运算与文件

    位运算与文件

    一、位运算

        1、按位与运算(&)

          两个相应的二进制都是1时,它们按位运算后的结果才为1,否则为0

          作用:清零

        2、按位或运算(|)

          两个相应的二进制中只要有一个为1时,则它们按位或运算后的结果为1

          作用:将特定位置1

        3、按位异或运算(^)

          当两个相应位同为1或同为0时,按位异或运算结果为0;两个相应位一个为1另一个为0时,按位异或运算结果为1

        4、按位取反运算(~)

          按位取反运算符是一个单目运算符,按位取反后0变1,1变0

          注意:

            对一个数按位取反得到的值为该数+1再乘以-1

        5、按位左移运算(<<)

          格式:数<<n

          功能:将二进制位按位依序左移n位

             对一个十进制数左移n位后得到的值为该数乘以2^n的积

        6、按位右移运算(>>)

          格式:数>>n

          功能:将二进制位按位依序右移n位

             若该数为一个负数并且不能被2^n整除则得到的数为商加-1

        7、注意事项     

          位运算的操作对象只能是整型或字符型数据

          c语言提供6种位运算符:

          &、 |、  ^ 、~ 、<<、 >>

          复合赋值运算符:

          &=、 |=、 ^= 、<<= 、>>=

    二、文件

        1、文件:记录在外部存储介质(外存)上的数据的集合

        2、文件的分类:

          文本文件(ASCII码文件):每个字符存储到文件中

          二进制文件:以二进制存储

          C语言中对文件的存取是以字符(字节)为单位的

        3、文件类型指针

          考试中,记住FILE就是文件类型名,它是一个结构体类型。对一个文件进行操作,通过文件指针进行的

        4、文件的打开与关闭

          1)文件的打开(fopen()函数)

            格式:fopen(文件名,文件使用方式)

            功能:按指定的“使用方式”打开文件,函数返回所打开文件的指针,该指针的基类型为文件类型,文件名和文件使用方式均为字符串

            打开文件的“使用方式”

            “r”、"w"、"a"、"+"

            注意:

              1)文件使用方式只能用小写字母,文件名用大写或小写均一样

              2)在“文件使用方式”中若含有字母b ,则打开的是一个二进制文件(bit)

              3)当fopen"打开"失败时,函数返回null

          2)文件的关闭(fclose函数)

            文件使用完后应该关闭该文件

            格式:fclose(文件指针)

        5、文件的读、写操作

          文件打开后可以进行操作。c语言中对文件的操作是通过库函数实现的

          1)读/写文件中的一个字符 fputc()、fgetc()

            格式:fputc(字符,文件指针)

            功能:把一个字符写到文件指针所指的文件中。其中字符可以是字符常量也可以是字符变量。若输出成功则函数返回输出的字符,失败则返回EOF

            格式:fgetc(文件指针)

            功能:从文件指针所指文件中读取一个字符。若读取成功则函数返回读取的字符,失败(遇到文件结束)则返回EOF

          2)读/写文件中的一个字符串 fputs()、fgets()

            格式:fputs(str,fp)

            功能:向fp所指文件中写(输出)str中的字符串,str可以是字符串常量、字符数组或字符指针变量。在输出时字符串的结束符''不输出。

               若输出成功则返回0,失败返回EOF

            格式:fgets(str,n,fp)

            功能:其中str表示一个字符指针,可以是字符数组名也可以是字符指针变量名。

               从fp所指文件中读取n-1个字符(不是n个字符),并在这些字符的最后加一个字符串结束符''后赋给str

               函数返回str的首地址

          3)读/写文件中的一个数据块 fread()、fwrite()

            格式:fread(buffer,size,count,fp)

            格式:fwrite(buffer,size,count,fp)

            其中:

              buffer是数据的地址

              size是每次读写的字节数

              count表示让函数进行多少次的读写

              fp是要进行读写一个连续的数据块

            注意:

              1)这两个函数按二进制方式进行读写

          4)对文件进行格式化读/写 fprintf()、fscanf()

            格式:

              fprintf(文件指针,格式说明符,输出列表)

              fscanf(文件指针,格式说明符,输入列表)

            功能:按格式说明符所指定的格式向文件中读写(输入输出)数据。其中格式说明符和输入()输出列表的用法与scanf和printf函数相同

          5)补充:

            feof(文件指针)

            作用是测试文件的当前读写位置是否在文件末尾,若是则返回非0值(真),否则返回0(假)

    三、文件当前读写位置函数

        1)重新定位指针

          格式:rewind(文件指针)

          作用:使当前的读写位置重新指向文件的开头。函数无返回值

        2)fseek()

          格式:fseek(文件指针,位移量,起始点)

          功能:将当前的读写位置从“起始点”开始按“位移量”所指定的移动字节数向后移动

          起始点有:

              SEEK_SET 或0 (表示“文件的开始”)

              SEEK_CUR 或1 (表示“当前位置”)

              SEEK_END 或2 (表示文件末尾)

              位移量:要在数值后加字母l或L

        
    3)ftell(文件指针)

          功能:返回当前文件的位置,用相对于文件头的位移量表示。若返回-1L表示出错

  • 相关阅读:
    使用PHP类库PHPqrCode生成二维码
    40+个对初学者非常有用的PHP技巧
    (高级篇)jQuery学习之jQuery Ajax用法详解
    lerna管理前端模块实践
    Node.js:深入浅出 http 与 stream
    从koa-session源码解读session本质
    Elastichsearch实践
    Linux代理搭建TinyProxy
    linux常用命令
    node前后端同构的踩坑经历
  • 原文地址:https://www.cnblogs.com/wxt19941024/p/6939583.html
Copyright © 2011-2022 走看看