文件I/O和标准I/O函数

读取/写入  相对于文件而言

输入/输出 相对于程序/内存而言

一切皆文件,键盘、显示屏也是文件,只不过是特殊的标准文件;

标准文件:标准输入、标准输出、标准错误;---->对应的文件指针:stdin、stdout、stderr;--->键盘、显示器

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

二进制与文本:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

标准I/O的机理:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

何为文件指针:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

标准I/O函数总览:

fopen()函数:打开文件;(文件)

fclose()函数:关闭文件;(文件)

getc()函数:从指定文件读取一个字符;(字符)

putc()函数:写入一个字符到指定文件;(字符)

getchar()函数:从标准输入文件读取一个字符;(字符)

putchar()函数:写入一个字符到标准输入文件;(字符)

fprintf()函数:写入到指定文件,输出到文件、带转换说明;(字符串)

fscanf()函数:从指定文件读取,输入到程序、带转换说明;(字符串)

printf()函数:写入到标准输出文件,输出到标准输出文件,带转换说明;(字符串)

scanf()函数:从标准输入文件读取,从标准输入文件输入到程序,带转换说明;(字符串)

fgets()函数:从指定文件读取字符串,带字符串大小参数;(字符串)

fputs()函数:写入字符串到指定文件,带字符串大小参数;(字符串)

gets()函数:这个函数不安全,容易造成内存溢出,被摒弃了;(字符串)

puts()函数:写入字符串到标准输出设备,输出字符串到标准输出设备;(字符串)

fseek()函数:设置文件指针stream的位置;(文件)

ftell()函数:得到文件位置指针当前位置相对于文件首的偏移字节数;(文件)

fsetpos()函数:设置文件指针stream的位置,对于大文件;(文件)

fgetpos()函数:得到文件位置指针当前位置相对于文件首的偏移字节数,对于大文件;(文件)

fread()函数:二进制方式,从一个文件读数据到另一文件;(二进制)

fwrite()函数:二进制方式,从一个文件写输入到另一个文件;(二进制)

exit()函数:

rewind()函数:

setvbuf()函数:

fflush()函数:

feof()函数:表明是否是文件结尾,0代表是文件结尾;(文件)

ferror()函数:表明是否读写错误,0代表正确读写;(文件)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

fopen()函数

函数原型

参数说明

返回值

说明

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

fclose()函数

原文地址:https://www.cnblogs.com/grooovvve/p/9952324.html

时间: 2024-08-05 01:28:03

文件I/O和标准I/O函数的相关文章

文件I/O与标准I/

一.先来了解下什么是文件I/O和标准I/O: 文件I/O:文件I/O称之为不带缓存的IO(unbuffered I/O).不带缓存指的是每个read,write都调用内核中的一个系统调用.也就是一般所说的低级I/O--操作系统提供的基本IO服务,与os绑定,特定于linix或unix平台. 标准I/O:标准I/O是ANSI C建立的一个标准I/O模型,是一个标准函数包和stdio.h头文件中的定义,具有一定的可移植性.标准I/O库处理很多细节.例如缓存分配,以优化长度执行I/O等.标准的I/O提

2信号处理之:信号产生原因,进程处理信号行为,信号集处理函数,PCB的信号集,sigprocmask()和sigpending(),信号捕捉设定,sigaction,C标准库信号处理函数,可重入函数,

 1信号产生原因 2.进程处理信号行为 manpage里信号3中处理方式: SIG_IGN SIG_DFL                                            默认Term动作 a signal handling function 进程处理信号 A默认处理动作 term   中断 core    core(调试的时候产生) gcc –g file.c ulimit –c 1024 gdb a.out core ign      忽略 stop     停止

标准I/O函数的调用都会使得底层I/O调用被履行

该类型中,文件的实践操作是缓存被充溢以后进行的缓存没有彻底被充溢时,体系不会主动将文件写入磁盘.除非体系调用改写(flush操作强行将数据写入磁盘. 输入和输出进程中遇到行完毕象征的时分,标准I/O库就履行实践的I/O操作.体系不会为流分配内存,每一次标准I/O函数的调用都会使得底层I/O调用被履行  文件的翻开与封闭 当体系操作一个文件时,会在内存中为该文件分配一个FILE构造的内存区域,用来寄存与该文件有关的信息(如文件称号,文件状况以及文件当时方位等) FILE即是一个构造体.FILE指针

UNIX环境编程学习笔记(13)——文件I/O之标准I/O流

lienhua342014-09-29 1 标准 I/O 流 之前学习的都是不带缓冲的 I/O 操作函数,直接针对文件描述符的,每调用一次函数可能都会触发一次系统调用,单次调用可能比较快捷.但是,对于需要频繁进行 I/O 操作的程序,频繁触发系统调用产生的消耗太大. 标准 I/O 库提供了带缓冲的 I/O 操作函数,这些函数围绕着一种叫做流(stream)的东西进行.当使用标准 I/O 库打开或创建一个文件时,系统提供了一个流与这个文件相关联.通过流的读入和输出完成所需要的 I/O操作. 标准

文件和目录:stat fstat lstat函数

文件和目录:stat fstat lstat函数 #include <sys/stat.h> int stat( const char *restrict pathname, struct stat *restrict buf ); int fstat( int filedes, struct stat *buf ); int lstat( const char *restrict pathname, struct stat *restrict buf );文件 三个函数的返回值:若成功则返回

文件IO详解(十四)---dup函数和dup2函数详解

dup和dup2函数是在进程中用来复制文件描述符的,可以实现文件共享. ======================================================== 函数原型: 函数参数: oldfd:要被复制的文件描述符 newfd:在dup2函数中指定的新文件描述符 返回值: 调用成功返回新的文件描述符 调用失败返回 -1 ======================================================== 使用dup或者dup2函数实现文件共

c/c++ 标准库 bind 函数 详解

标准库 bind 函数 详解 bind函数:接收一个函数名作为参数,生成一个新的函数. auto newCallable = bind(callbale, arg_list); arg_list中的参数可能包含入_1, _2等,这些是新函数newCallable的参数. 在这篇博客lambda 表达式 介绍 中,讨论了find_if的第三个参数的问题,当时是用lambda表达式解决的,有了bind函数后,也可以用bind函数解决. 解决办法:bind(check_size, _1, sz) au

c++多线程编程:实现标准库accumulate函数的并行计算版本

今天使用c++实现了标准库头文件<numeric>中的accumulate函数的并行计算版本,代码如下,注释写的比较详细,仅对其中几点进行描述: ①该实现假定不发生任何异常,故没有对可能产生的异常进行处理 ②第42行的语句: const unsigned int num_thread = std::min((hardware_thread != 0 ? hardware_thread : 2), max_thread); 要运行的线程数是计算出的最大线程数和硬件线程数量的较小值.这是因为若运行

标准C IO函数和 内核IO函数 效率(时间)比较

前言 标准C提供的文件相关的IO函数,除标准错误输出是不带缓冲的(可以尽快的将错误消息显示出来)之外,所有与终端相关的都是行缓冲,其余都是全缓冲的. 我们可以使用setbuf,setvbuf改变指定流的缓冲类型. 原型: void setbuf(FILE *stream, char *buf);int setvbuf(FILE *stream, char *buf, int mode, size_t size); //成功返回0,失败非0 函数的用法一目了然,当参数buf指定为NULL时,操作系