标准I\O的机理,二进制模式和文本模式,文件输入,输出中需要的各种函数

putc函数:第一个参数是待写入的字符,第二个参数是文件指针,putc(ch,stdout)与putchar(ch)相同

而ch = getc(fp)是指从getc指定的文件fp中获取一个字符给ch

fputs是一种函数,具有的功能是向指定的文件写入一个字符串。成功写入一个字符串后,文件的位置指针会自动后移,函数返回为一个非负整数;否则返回EOF(符号常量,其值为-1)。

fgets()函数: 第一个参数表示储存输入位置的地址(char*)类型,第二个参数是一个整数,表示待输入字符串的大小。最后一个参数是文件指针,指定待读取的文件

fgets(buf,strlen,fp),buf是char类型数组的名称,strlen是字符串的大小,fp是指向FILE的指针 ,需要注意的是fgets()在字符串中保留换行符

该函数读取输入的特点:>fgets()函数读取输入直到第一个换行符的后面,或读到文件结尾,或者读取strlen-1个字符,然后fgets()在末尾添加一个空字符使之成为一个字符串。字符串的大小是其字符加上一个空字符。


随机访问:fseek()与ftell()

有了fseek函数,就可以把文件看作是数组,在fopen()打开的文件中直接移动到任意字节处。
fseek()有3个参数,第一个参数是FILE指针,指向待查找的文件。 注意此时fopen()应该已打开该文件
第二个参数是偏移量,该参数表示从起始点开始要移动的距离。该参数必须是一个long类型,可为正(前移),负(后移)或不动)
第三个参数是模式,该参数确定起始点。根据ANSI标准,在stdio.h头文件中规定了几个表示模式的明示常量:

SEEK_SET: 文件开始处
SEEK_CUR: 当前位置
SEEK_END: 文件末尾
旧的实现可能缺少这些定义,可以使用数值0L,1L,2L分别表示这三种模式。L后缀表示其是long类型。
以下是调用fseek()函数的一些实例,fp是一个文件指针:

fseek(fp,0L,SEEK_SET)  //定义至文件开始处
fseek(fp,10L,SEEK_SET) //定位至文件中的第10个字节
fseek(fp,2L,SEEK_CUR)  //从文件当前位置前移两个字节
fseek(fp,0L,SEEK_END)  //定位至文件结尾
fseek(fp,-10L,SEEK_END) //从文件结尾处回退10个字节
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值