《标准C++输入输出流与本地化》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:AngelikaLangerKlausKreft著;何渝,孙悦红等译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2001
  • ISBN:7115090521
  • 页数:526 页
图书介绍:

第一部分 输入与输出流 3

第一章 IO流基础 3

1.1 输入与输出 3

1.1.1 什么是输入输出流 3

1.1.2 用IO流进行文本流IO的步骤 4

1.1.3 IO流的层次 6

1.1.4 IO流类中流的概念 7

1.1.5 IO流类中的类 7

1.1.6 IO流作为框架 9

1.2 格式化输入/输出 9

1.2.1 预定义的全局流 10

1.2.2 输入输出运算符 10

1.2.3 流的格式参数 13

1.2.4 操纵符 18

1.2.5 流的本地化 22

1.2.6 有格式的输入与输出的比较 22

1.2.7 格式输入的特性 23

1.3 流状态 25

1.3.1 流状态标志 25

1.3.2 测试流状态 27

1.3.3 捕获流异常情况 29

1.3.4 复位流状态 31

1.4 文件输入与输出 32

1.4.1 创建、打开、关闭和析构文件流对象 32

1.4.2 打开方式 34

1.4.3 双向文件流 37

1.5 内存内部的输入/输出 39

1.5.1 串流内容的获取和替换 39

1.5.2 打开方式 40

1.6 非格式化的输入/输出 40

1.6.1 非格式化输入 40

1.6.2 非格式化输出 42

1.7 流的位置指针定位 42

1.7.1 获取当前流位置指针 43

1.7.2 改变流位置指针 43

1.8 流的同步 45

1.8.1 同步的方法 45

1.8.2 预定义标准流的同步 47

第二章 IO流的结构 51

2.1 流类 52

2.1.1 类的继承关系 52

2.1.2 流怎样管理流缓冲区 56

2.1.3 流的拷贝和赋值 59

2.1.4 流怎样管理locale 62

2.1.5 流、流缓冲和locales间的合作 65

2.2 流缓冲类 70

2.2.1 类继承关系 70

2.2.2 流缓冲区的概念 71

2.2.3 串流缓冲 75

2.2.4 文件流缓冲 80

2.3 字符类型和字符特性 88

2.3.1 字符表示 89

2.3.2 字符特性 92

2.3.3 字符类型 96

2.4 流的iterators和流缓冲的iterators 100

2.4.1 标准库中iterator的概念 100

2.4.2 流iterator 102

2.4.3 流缓冲iterator 109

2.5 增加的流存储空间和流回调函数 114

2.5.1 增加的流存储空间 115

2.5.2 流回调函数 116

第三章 输入/输出流的高级用法 119

3.1 用户定义类型的输入输出 119

3.1.1 插入函数和提取函数的定义 119

3.1.2 第一种插入函数和提取函数 120

3.1.3 改进 123

3.1.4 改进后的插入函数和提取函数 128

3.1.5 通用的插入函数和提取函数 142

3.1.6 简单型设计与改进型设计的对比 148

3.2 用户定义的操纵符 150

3.2.1 不带参数的操纵符 151

3.2.2 带参数的操纵符 152

3.3 流的扩展功能 165

3.3.1 流保存私有操作:iword、pword和xalloc的使用 165

3.3.2 通过派生建立新的流类 180

3.3.3 两种解决方案——iword/pword与派生的比较 192

3.4 增加流缓冲功能 193

3.4.1 从流缓冲基类派生 193

3.4.2 从具体流缓冲类派生 212

第二部分 国际化 217

第四章 国际化和本地化 217

4.1 国际化和本地化 217

4.2 文化习俗 218

4.2.1 语言 218

4.2.2 数值 218

4.2.3 货币 219

4.2.4 时间和日期 219

4.2.5 字、词的排序 220

4.2.6 消息 221

4.2.7 字符编码 221

第五章 locale 227

5.1 locale对象的建立 228

5.1.1 命名locale对象 228

5.1.2 组合式locale 229

5.1.3 全局locale对象 231

5.2 从locale对象获得facet 232

5.2.1 has_facet()函数 233

5.2.2 use_facet()函数 233

第六章 标准facet 235

6.1 与字母表和语言相关的facet 235

6.1.1 字符分类 236

6.1.2 串整理 239

6.1.3 代码转换 240

6.1.4 消息目录 244

6.2 facet的格式化和解析 244

6.2.1 数值和布尔值 245

6.2.2 货币数值 247

6.2.3 日期和时间值 251

6.3 locale中标准facet的分组 254

6.3.1 标准facet族 254

6.3.2 locale分类 258

6.3.3 图示:facet和分类 259

6.4 标准facet的高级用法 260

6.4.1 通过流间接使用facet 260

6.4.2 通过locale使用facet 261

6.4.3 独立于locale对象的facet的直接使用 262

第七章 locale的框架体系结构 265

7.1 类的层次结构 265

7.2 在locale中识别与查找facet 266

7.2.1 facet的识别 266

7.2.2 facet的查找 268

7.3 locale中facet的内存管理 272

7.3.1 facet引用计数器 273

7.3.2 locale中facet的不变性 277

第八章 用户自定义facet 279

8.1 将用户自定义的facet加入已有的facet族 279

8.2 定义新的facet族 283

第三部分 参考指南 299

1.LOCALE 299

header file<locale> 299

global functions(全局函数) 301

codecvt<internT,externT,stateT> 303

codecvt_base 308

codecvt_byname<internT,externT,stateT> 309

collate<charT> 310

collate_byname<charT> 313

ctype<charT> 314

ctype<char> 318

ctype_base 321

ctype_byname<charT> 322

locale 324

messages<charT> 329

messages_base 331

messages_byname<charT> 332

money_base 333

money_get<charT,InputIterator> 334

moneypunct<charT,Inter> 336

moneypunct_byname<charT,Inter> 340

money_put<charT,outputIterator> 342

num_get<charT,InputIterator> 344

numpunct<charT> 349

numpunct_byname<charT> 351

num_put<charT,OutputIterator> 352

time_base 355

time_get<charT,InputIterator> 356

time_get_byname<charT,InputIterator> 360

time_put<charT,OutputIterator> 361

time_put_byname<charT,OutputIterator> 363

time_base 364

tm 365

2.CHARACTER TRAITS 369

header file<string> 369

char_traits<charT> 371

char_traits<char> 371

char_traits<wchar_t> 374

3.IOSTREAMS 379

header file<iosfwd> 379

header file<iostream> 382

header file<ios> 382

header file<streambuf> 384

header file<istream> 384

header file<ostream> 385

header file<iomanip> 386

header file<sstream> 386

header file<fstream> 388

global type definitions 389

global objects 390

basic_filebuf<charT,traits> 391

basic_fstream<charT,traits> 394

basic_ifstream<charT,traits> 396

basic_ios<charT,traits> 398

basic_iostream<charT,traits> 402

basic_istream<charT,traits> 403

basic_istringstream<charT,traits,Allocator> 413

basic_ofstream<charT,traits> 414

basic_ostream<charT,traits> 416

basic_ostringstream<charT,traits,Allocator> 425

basic_streambuf<charT,traits> 427

basic_stringbuf<charT,traits,Allocator> 434

basic_string stream<charT,traits,Allocator> 437

fpos<stateT> 439

ios_base 439

manipulators 451

4.STREAM ITERATORS 453

header file<iterator> 453

istreambuf_iterator<charT,traits> 454

istream_iterator<T,charT,traits,Distance> 458

iterator<Category,T,Distance,Pointer,Reference> 460

iterator category tags 461

ostreambuf_iterator<charT,traits> 461

ostream_iterator<T,charT,traits,Distance> 463

5.OTHER I/O OPERATIONS 467

bitset<N> 467

complex<T> 468

basic_string<charT,traits,Allocator> 468

附录A 数字量与bool值的解析与抽取 471

A.1 解析数字量 472

A.2 解析bool值 473

A.3 转换说明符与长度变量修饰符 474

附录B 数字量与BOOL值的格式化 477

B.1 数字量的格式化 477

B.2 bool值的格式化 480

B.3 转换说明符、限制符与长度变量修饰符 480

附录C Strftime()转换说明符 483

附录D C stdio与C++输入输出流的对应关系 485

D.1 文件打开模式 485

D.2 流状态 486

附录E 经典IO流和标准IO流之间的差异 487

E.1 IO流类的模板化 487

E.2 分区基本类ios 488

E.3 指示错误 489

E.4 国际化IO流 490

E.5 消除_withassign类 490

E.6 消除文件描述符 491

E.7 串流:用stringstream替换strstream 491

E.8 对流缓冲器类的改变 492

E.9 次要的变换 494

附录F C与C++Locales的关系 495

F.1 C与C++Locales的类型 495

F.2 C和C++的全球Locales 496

附录G 新C++的特性与习惯用语 499

G.1 位掩码类型 499

G.2 POD—简单的旧数据 499

G.3 显式构造 500

G.4 模板说明 502

G.5 默认的模板自变量 508

G.6 显式模板自变量说明 511

G.7 typename关键词 513

G.8 动态的引用 516

G.9 函数try块 520

G.10 标准的异常情况 523

G.11数的限制 524

G.12 C++ 串 525