linux day2笔记

1.如何向文件中写入信息?
    1.打开文件
    2.写入数据
    3.关闭文件
2.如何从文件中读取信息?
    1.打开文件
    2.读取数据
    3.关闭文件

int main(int argc, const char *argv[])
int main(int argc, const char **argv)

main函数传参

int fputs(const char *s, FILE *stream);
功能:
    将字符串写入到流中
参数:
    s:字符串空间首地址
    stream:文件流指针
返回值:
    成功返回非负数
    失败返回EOF(-1)

char *fgets(char *s, int size, FILE *stream);
功能:
    从流中读取一段字符(遇到\n会立即停止)
参数:
    s:存放字符串的空间的首地址
    size:想要读取的字节数
    stream:文件流指针
返回值:
    成功返回存放字符串空间的首地址
    失败或读到文件末尾返回NULL
    
用法:
    接收一行字符串

3.普通文件的划分
    1.ASCII码文件:
        程序、代码、文档
        文件中的内容均为能够在界面显示的字符
    2.二进制文件:
        图片、音频、视频、压缩包
        文件中的内容可以是不能在界面上显示的字节编码
        
    ASCII码文件是特殊的二进制文件
    fgetc/fputc    fprintf/fscanf fgets/fputs    ->ASCII码文件
    fread/fwrite                            ->二进制文件
    
4.从终端输入一个单词,获得该单词的含义
    
    fwrite
    size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
    功能:
        向文件写入nmemb个对象,每个对象size个字节大小,存放在ptr指向的空间中
    参数:
        ptr:存放数据空间的首地址
        size:写入对象的字节数
        nmemb:写入对象的个数
        stream:文件流指针
    返回值:
        成功返回实际写入对象的个数
        
    fread
    size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
    功能:
        从流中读取nmemb个对象,每个对象size个字节大小,存放在ptr指向的空间中
    参数:
        ptr:存放数据空间的首地址
        size:读取对象的字节数
        nmemb:读取对象的个数
        stream:文件流指针    
    返回值:
        成功返回实际读取对象的个数    
        
设置流的偏移量:
    1.fseek
         int fseek(FILE *stream, long offset, int whence);
        功能:
            重新设置流的偏移量
        参数:
            stream:文件流指针
            offset:
            偏移量
            >0    向后偏移
            <0    向前偏移
            whence:
                SEEK_SET    文件开头
                SEEK_CUR    当前位置
                SEEK_END    文件末尾
        返回值:
            成功返回0
            失败返回-1
    2.rewind
        void rewind(FILE *stream);
        将流重定位到开头
        等价于
        fseek(FILE *stream, 0, SEEK_SET)        
    3.ftell
        long ftell(FILE *stream);
        获得流的偏移量


    

    
 

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值