1 cin cout cin.get() cin.get(ch)的返回值
(1)cin ,cout 就不用多说了还是返回一个iostream对象,因此它们可以这么使用。
cin >> var1 >> var2 >>var3;
cout << var1 << var2 <<var3<<endl;
cin.get() 没有参数时,返回值是一个整数,所以通常这么用
while((ch=cin.get()) != EOF)
{
cout << ch;
}
cin.get(ch)代参数时,返回的也是一个iostream对象,因此可以这么用
cin.get(a).get(b).get(c);
2 cin.get(buffer, num, terminate) cin.getline(buffer, num, terminate)的区别
注:terminate 一般为 '\n'
二者都是每次读取一行字符,或是碰到ternimate指定的字符终止或是读的字符数超过num - 1终止。
区别是cin.get会把terminate留在缓冲区中,因此下次读到的第一个字符就是terminate字符,相反,cin.getline()则会丢弃缓冲区中的terminate字符。
#include <iostream>
using namespace std;
int main()
{
char stringOne[255];
char stringTwo[255];
cout << “Enter string one:”;
cin.get(stringOne,255);
cout << “String one: “ << stringOne << endl;
cout << “Enter string two: “;
cin.getline(stringTwo,255);
cout << “String two: “ << stringTwo << endl;
cout << “\n\nNow try again...\n”;
cout << “Enter string one: “;
cin.get(stringOne,255);
cout << “String one: “ << stringOne<< endl;
cin.ignore(255,’\n’);
cout << “Enter string two: “;
cin.getline(stringTwo,255);
cout << “String Two: “ << stringTwo<< endl;
return 0;
}
看输入输出结果:
Enter string one:once upon a time
String one: once upon a time
Enter string two: String two:
Now try again...
Enter string one: once upon a time
String one: once upon a time
Enter string two: there was a
String Two: there was a
3 两个比较有用的函数:peek(), putback() 和 ignore()
cin.peek(ch); 忽略字符ch
cin.putback(ch); 把当前读到的字符替换为ch
cin.ignore(num, ch); 从当前字符开始忽略num个字符,或是碰到ch字符开始,并且把ch字符丢丢掉。
#include <iostream>
using namespace std;
int main()
{
char ch;
cout << “enter a phrase: “;
while ( cin.get(ch) != 0 )
{
if (ch == '!')
cin.putback('$');
else
cout << ch;
while (cin.peek() == '#')
cin.ignore(1,'#');
}
return 0;
}
输入输出结果:
enter a phrase: Now!is#the!time#for!fun#!
Now$isthe$timefor$fun$
5 文件输入输出
fstream中有几个函数来检查文件的状态:
eof() 返回true如果iostream 对象遇到了EOF
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ustc_dylan/archive/2009/12/25/5077984.aspx
分享到:
相关推荐
C++的IO操作是编程中不可或缺的一部分,它允许程序与用户进行数据交互。在C++中,IO操作主要涉及标准库中的`iostream`和相关的头文件,如`iomanip`。`iomanip`头文件提供了操纵符(manipulator),这是一种特殊类型...
IO流是C++对C语言I/O系统的一种扩展和改进,引入了面向对象的概念,使得输入输出操作更加简洁和灵活。 在C++中,IO流主要由`<iostream>`库提供,包括`cin`用于输入,`cout`用于输出,它们都是属于`std`命名空间的...
在C++编程中,I/O(输入/输出)操作是程序与外部世界交互的重要部分,包括从磁盘、键盘、屏幕等设备读取数据以及向这些设备写入数据。C++提供了多种方式进行I/O操作,主要包括标准库中的`iostream`、`fstream`和`...
无论是处理用户输入,还是保存或加载数据,都离不开IO操作。本篇将深入探讨C++中的IO读写,特别是关于基础类型以二进制方式的读写。 在C++中,标准库提供了一套强大的IO流库,主要包括`iostream`,`fstream`,`...
在C++编程中,I/O流库是处理输入和输出操作的核心部分,它使得程序员能够高效、方便地与外部设备(如键盘、显示器、磁盘文件等)进行数据交互。本章将详细介绍C++的I/O流库及其相关概念。 1. **屏幕输出** - **...
特别是在数据输入输出(IO流)过程中,我们经常需要将一个整体的字符串拆分成多个部分,这通常涉及到字符串的拆分操作。本文将深入探讨如何在C++中使用IO流来拆分字符串,并提供不同方法的源码实现。 首先,C++标准...
### C++ IO流库知识点详解 #### 一、C++为何需要自己的IO系统?...通过这样的设计,C++的IO流库不仅能够很好地支持标准的输入输出操作,还能方便地扩展以支持各种自定义类型的数据处理,满足复杂应用的需求。
### C++中的简单文件IO操作详解 #### 一、ASCII 输出 在C++中处理文件输入输出(简称IO)操作时,通常会涉及到文件的读取与写入。本篇文章将详细介绍如何使用C++来进行基本的ASCII文件IO操作。为了进行这些操作,...
IO操作在C++中主要通过三个独立的头文件来实现: - **iostream**:定义了用于控制台读写的类型。 - **fstream**:定义了用于文件读写的类型。 - **sstream**:定义了用于内存中的字符串对象读写的类型。 这些头文件...
通过对《C++ Primer》中关于IO库的学习,我们不仅了解了C++中输入输出的基本原理,还掌握了如何有效地管理和控制IO操作,这对于开发高性能的应用程序具有重要意义。通过继承机制实现的不同IO操作之间的一致性,以及...
C++编程语言中的IO流是进行输入输出操作的一种机制,包括了对标准输入输出设备如文件、内存、串行设备的读写操作。C++支持两种风格的IO流:C风格和C++风格。C++风格的IO流在使用中更加灵活和方便,它通过一系列的类...
在C++中,进行文件I/O操作主要涉及两个类,即`ifstream`和`ofstream`,它们分别用于文件的输入和输出。这两个类都属于`fstream`库的一部分,因此在编写程序时,需要包含`<fstream>`头文件。在早期的C++标准中,这个...
数据的表示形式在IO操作的过程中,任何需要被传递的数据,在经过IO类库处理前后是不同的。数据的内部表示便于程序进行数据处理。典型的内部表示有:整型数的二进制表示、浮点数的IEEE表示、字符的ASCII或Unicode编码...
### 探寻C++最快的读取文件的方案:C++ IO优化 在计算机编程领域,尤其是在需要处理大量数据的应用场景中,文件的读取速度往往成为制约程序性能的关键因素之一。本文将通过一系列实验对比不同读取方法的速度,旨在...
C++程序设计与数据结构基础:第8章 C++ IO流标准库 本章内容主要讲解了C++程序设计中的IO流标准库,涵盖了C++ I/O流概述、控制台与文件的输入与输出、外部存储介质、内存变量写文件(输出)读文件(输入)等方面的...
在C++中实现Socket.IO,通常需要结合WebSocket协议和RapidJSON库来处理数据序列化和传输。WebSocket是一种在HTTP协议基础上建立持久连接的协议,提供全双工通信通道,适合实时通信应用。RapidJSON则是一个轻量级的...
### 深入详解C++ IO 在C++编程语言中,输入输出(I/O)是必不可少的一部分,它为程序提供了与外部世界交互的方式。本文将深入探讨C++中的I/O机制,帮助读者掌握其核心概念和技术细节。 #### 1. 基本概念与流对象 ...
这本书深入探讨了如何在C++程序中高效地处理I/O操作和国际化问题。 IOStreams是C++标准库中的一个核心部分,它提供了强大的文本输入输出功能,允许程序员以一种类型安全、可扩展的方式来处理数据流。相比于C语言中...