C Primer Plus之文件输入/输出

文件

一个文件通常就是磁盘上的一段命名的存储区。但对于操作系统来说,文件就会更复杂一些。例如,一个大文件可以存储在一些分散的区段中,或者还会包含一些使操作系统可以确定其文件类型的附加数据。

C将文件看成是连续的字节序列,其中每一个字节都可以单独地读取。ANSI C提供了文件的两种视图:文本视图和二进制视图。

1° 文本视图和二进制视图

ANSI要求提供的两种文件视图是文本视图和二进制视图。在二进制视图中,文件中的每个字节都可以为程序所访问。在文本视图中,程序看到的内容和文件的内容有可能不同。举例说明:使用文本视图读取文件时,将把行尾的本地环境表示法映射为C视图。与之类似,在输出的时候,也会将C视图中的行尾表示映射为本地环境表示法。例如,MS-DOS文本文件用回车符和换行符的组合\r\n来表示行尾。Macintosh文本文件只用一个回车符\r来表示行尾。C程序使用一个\n来表示行尾。所以,如果C程序以文本视图模式处理一个MS-DOS文本文件,在读取文件时它会将\r\n转换为\n,在写入文件的时候它会将\n转换为\r\n;而对于Macintosh文本文件的文本视图,在读取文件时它会将\r转换为\n,在写入文件的时候它会将\n转换为\r。

处理一个MS-DOS文本文件不必局限于仅仅使用文本视图。对这样的文件还可以使用二进制视图。如果是这样,程序将看到文件中的\r和\n字符,没有任何映射发生。MS-DOS区分文本文件和二进制文件,但C提供的是文本和二进制视图。通常,对于文本文件使用文本视图,对于二进制文件使用二进制视图。但是,您可以使用任何一种视图处理认一种文件,尽管用文本视图处理二进制文件的效果很糟。

ANSI C提供了两种打开文件的模式:①二进制模式②文本模式

2° 标准文件

C程序自动为您打开3个文件。

  1. 标准输入(standard input)。默认的标准输入是系统的一般输入设备,通常为键盘
  2. 标准输出(standard output)。
  3. 标准错误输出(standard error output)。默认的标准输出和标准错误输出是系统的一般输出设备,通常为显示器。
时间: 2024-11-04 21:48:42

C Primer Plus之文件输入/输出的相关文章

C/C++-标准输入/输出重定向为文件输入/输出

/* Time: 2017-02-22 11:11:15 Describe: C++程序将标准输入/输出重定向为文件输入/输出. */ #include <iostream> #include <fstream> #include <string> using namespace std; void f() { string line; while(getline(cin, line)) //input from the file in.txt { cout <&

python基础(文件输入/输出 内建类型 字典操作使用方法)

本文主要介绍了python基础入门,包括文件输入/输出.内建类型.字典操作等使用方法 一.变量和表达式 代码如下: >>> 1 + 1 2>>> print 'hello world' hello world>>> x = 1               >>> y = 2>>> x + y3 Python是强类型语言,无法根据上下文自动解析转换成合适的类型. Python是一种动态语言,在程序运行过程中,同一个变量

[转]C语言文件输入/输出ACM改进版(freopen函数)

C语言文件输入/输出ACM改进版(freopen函数) 2009年5月27日 10:379,457 浏览数发表评论阅读评论 文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作. 昨天发了一篇<C语言 使用文件输入/输出数据>,使用的是最普通的文件输入/输出方法,Felix大牛随后给了一种更简单的改进方法,在ACM中应用很广,而且超赞,现在来介绍一下. 这次用到的文件打开函数不再是fopen,而是stdio.h中包含的另一个函数fr

【C语言学习】《C Primer Plus》第13章 文件输入/输出

学习总结 1.文件函数原型1: FILE* fopen(char *filename, char *openmode);  //打开文件,返回文件指针 filename:文件名,更确切地说,是包含文件名的字符串地址: openmode:打开模式(r,w,a,r+,w+,a+,……) 打开失败返回NULL int getc(FILE *fp);  //读文件,返回字符 fp:读取文件指针 int putc(int ch, FILE *fp);  //写文件,返回写入字符的ASCII值 ch:字符

文件输入/输出

fopen:打开文件.第一个参数文件名的字符串地址.打开模式:r:读 w:写,会改 没有就创建 a:追加 ,没有就创建 r+:读取和写入 w+:同上但会改 没有就创建a+:同上,但是追加 rb,wb,ab,ab+,a+b,wb+,w+b,ab+,a+b,使用二进制模式而不是文本模式打开,其他类似 getc():到达文件结尾时,会返回EOF putc() 与getchar().putchar类似但适用于文件 putc(ch,文件指针) fclose 关闭由指针fp指定的文件#include<std

对c++ primer中 io文件输入输出流的理解

ifstream input_file("abcd.txt"); 创建一个输出流input_file流绑定到后缀txt的文件上,那么input_file就是一个输出流   相当与cin(cin >> s) 那么我们就可以用input_file >> s来代替cin,只不过cin是从键盘上输入,而input_file是从文件中读取的数据. ofstream out_file("out_file.txt"); 同理这里out_file等同于cou

第 13 章 文件输入/输出 (标准I/O)

1 /*-------------------------- 2 count.c -- 使用标准 I/O 3 --------------------------*/ 4 5 #include <stdio.h> 6 #include <stdlib.h> //提供 exit() 函数原型 7 8 int main(int argc, char *argv[]) 9 { 10 int ch; //读取文件时,储存每个字符的地方 11 FILE *fp; //文件指针 12 unsi

C++ Primer 学习笔记_59_重载操作符与转换 --输入/输出、算术/关系操作符

重载操作符与转换 --输入/输出.算术/关系操作符 支持I/O操作的类所提供的I/O操作接口,一般应该与标准库iostream为内置类型定义的接口相同,因此,许多类都需要重载输入和输出操作符. 一.输出操作符<<的重载 为了与IO标准库一致,操作符应接受ostream&作为第一个形参,对类类型const对象的引用作为第二个形参,并返回ostream形参的引用! ostream &operator<<(ostream &os,const ClassType &

C++文件输入和输出

1.引入头文件fstreamfstream头文件定义了用于文件输入的类ifstream和文件输出的类ofstream 2.写文件1)创建一个ofstream对象来管理输出流2)将该对象与文件关联起来3)使用cout方式使用该对象,唯一区别是输出将进入文件,而不是屏幕.4)关闭到文件的连接示例如下: ofstream fout; fout.open("test.txt"); fout<<"write something"; fout.close(); 创建