Skip to Content
C++程序设计:原理与实践(基础篇)(原书第2版)
book

C++程序设计:原理与实践(基础篇)(原书第2版)

by 本贾尼 斯特劳斯特鲁普
August 2021
Intermediate to advanced
450 pages
9h 36m
Chinese
Pearson
Content preview from C++程序设计:原理与实践(基础篇)(原书第2版)

11.3.1 文件打开模式

可以使用多种模式打开文件。默认情况下,用ifstream打开的文件用于读,用ofstream打开的文件用于写,这满足了大多数一般需求。但是,你还可以选择其他方式:

可以在文件名之后指定文件模式,例如:

后一个例子中的“|”是“位或”运算符(参见附录A.5.5),可用于组合多个模式。app模式常用于写日志文件,因为你总是将新的日志追加到文件末尾。

在每个例子中,打开文件的确切效果依赖于操作系统,而且如果操作系统不能使用某种特定的模式打开文件的话,流可能会进入非good()状态。

以读模式打开一个文件,最常见的失败原因是文件不存在(至少文件名不是我们所指定的那样):

在本例中,我们猜测是拼写错误导致了文件打开失败。

注意,如果以写模式打开一个文件,而文件不存在的话,通常操作系统会创建一个新文件,但如果以读模式打开一个不存在的文件,就不会创建新文件(这实际上是很幸运的)。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普
管理Kubernetes

管理Kubernetes

Brendan Burns, Craig Tracey
Python编程入门与实战

Python编程入门与实战

Posts & Telecom Press, Fabrizio Romano

Publisher Resources

ISBN: 9787111562252