`
网络接口
  • 浏览: 44916 次
文章分类
社区版块
存档分类
最新评论

C++容易忽略的输入输出特性

阅读更多

1 cin  cout cin.get() cin.get(ch)的返回值

(1)cin ,cout 就不用多说了还是返回一个iostream对象,因此它们可以这么使用。

cin >> var1 >> var2 >>var3;

cout << var1 << var2 <

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

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

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$

 

4 cout.put() cout.write()

与输入相同,cout.put(ch) 返回一个iosream对象,因此可以连续使用

cout.write(text,num)  输出text中的num个字符,如果num > strlen(text), 则后面输出的是text之后的内存中的随机的字符。

#include

#include

using namespace std;

int main()

{

   char One[] = “One if by land”;

   int fullLength = strlen(One);

   int tooShort = fullLength -4;

   int tooLong = fullLength + 6;

   cout.write(One,fullLength) << endl;

   cout.write(One,tooShort) << endl;

   cout.write(One,tooLong) << endl;

   return 0;

}

输入结果:

One if by land

One if by

One if by land i?!

分享到:
评论

相关推荐

    qt-C++例子1+输出HelloWorld

    "qt-C++例子1+输出HelloWorld"是一个入门级的QT程序示例,旨在让初学者了解如何在QT环境中使用C++编写简单的程序并显示"HelloWorld"。这个程序的核心就是向用户界面输出“Hello, World!”,这是编程学习中的一个经典...

    C++程序设计C++程序设计.ppt

    C++支持标准输入输出(I/O流),使用iostream库进行数据的输入输出操作。 第2章至第10章涵盖了C++的核心概念和技术: 2. 类与对象:详细介绍了如何定义类,创建对象,以及对象的生命周期。 3. 构造函数:用于初始化...

    面向对象程序设计(C++语言描述)教程

    - C++的IO流库提供了一种灵活的输入输出机制。 - `iostream`头文件包含了基本的输入输出流对象cin、cout、cerr和clog,以及文件流对象fstream。 - 输入/输出流对象可以与标准输入输出设备、文件和其他I/O设备进行...

    C++代码快速入门

    六、文件输入输出 C++提供了iostream库进行文件操作,包括读取文件(ifstream)和写入文件(ofstream)。 七、实践与在线判题系统(OJ) 为了更好地学习C++,你可以通过在线判题系统(Online Judge,如LeetCode、...

    编程语言-你想知道的编程语言(输入输出)

    ### 编程语言中的输入与输出 #### 一、引言 输入输出(I/O)是编程语言中不可或缺的一部分,它涉及到程序与...此外,了解输入输出相关的高级特性(如缓冲区管理、重定向等),对于提高程序的性能和灵活性也至关重要。

    C++基础实例教程 非常适合初学者

    `iostream.h`包含了C++标准输入输出流的定义,如`cout`和`cin`,允许程序与用户进行交互,输出信息到屏幕或从键盘接收输入。 `using namespace std;` 是一条声明,表示将在接下来的代码中使用`std`命名空间。`std`...

    c++primer 学习笔记

    C++ Primer 是一本经典的C++学习书籍,涵盖了C++的基础知识和高级特性。这篇学习笔记主要涉及了C++编程的一些核心概念,...随着深入学习,还将涉及到类、对象、模板、异常处理、输入输出流、STL容器和算法等更多内容。

    C++基础,主要介绍了C++的主要特点,适合于C++入门开发人员

    2.5 C++的输入输出操作不同于C语言,它使用`iostream`库,主要通过`cin`和`cout`对象进行。例如: ```cpp #include int main() { int a; std::cin &gt;&gt; a; // 从键盘读取整数到变量a std::cout ; // 输出到屏幕 ...

    C++统计英文词频

    C++中的`iostream`库用于处理输入输出,如从文件读取数据和向控制台输出结果。`ifstream`用于文件输入,`ofstream`用于文件输出,而`cin`和`cout`分别用于标准输入和输出。 4. **Token类的设计**: 这个项目的...

    c++ CMM词法分析器

    自顶向下方法则从期望的输出开始,反向推导出输入的匹配。在C++中,可以使用递归下降解析(recursive descent parsing)或者使用库如Flex和Bison来实现词法分析。 5. **正则表达式**:在C++中,可以使用标准库`...

    C++Primer 读书笔记

    - **输入输出机制**:C++并未直接定义I/O语句,而是通过标准库实现输入输出功能。 - **类型安全**:C++为静态类型语言,在编译阶段进行类型检查,确保操作的合法性。 #### 存储与数据表示 - **存储单位与结构**:...

    C++基础知识.pdf

    1. 输入输出:C++引入了iostream库,使用cin和cout进行输入输出,比C语言的printf和scanf更方便,且支持流式操作。 2. 注释:C++支持单行注释(//),使得注释更简洁。 3. const和内联函数:const关键字用于声明...

    C++程序设计(谭浩强)

    3. **标准库与STL**:C++标准库提供了大量预定义的功能,比如输入输出流、字符串操作等;而STL(标准模板库)则是一系列容器、算法和迭代器的集合,极大地提高了编程效率。 通过以上知识点的学习,读者不仅能够掌握...

    C++标准程序库

    1. 输入/输出库(iostream):提供了操作文件和控制台输入输出的类和函数,如cin、cout和文件流类。 2. 容器类(Containers):用于存储各种类型的数据的类,比如vector、list、map、set等。 3. 迭代器(Iterators)...

    C++set函数学习

    例题要求输出排序后的单词列表,并且重复的单词只输出一次,set正适合这种情况。 在编程实践中,set和multiset经常被用于解决各种算法问题。比如在数据去重、查找与排序结合的场景中,使用set或multiset可以大大...

    C++学习笔记(快速入门C++)

    C++提供了标准输入输出机制,主要通过`cin`和`cout`对象实现。此外,还提供了标准错误输出`cerr`和标准日志输出`clog`。这些对象通常位于`std`命名空间中。 - **`cin`**: 用于从标准输入设备(通常是键盘)读取数据...

    C++大学基础教程第二章

    本章节主要介绍了C++编程语言中的基本概念,包括词法记号、标识符、基本数据类型、变量和常量、运算符与表达式以及基本的输入输出操作。 #### 2.1 词法记号和标识符 1. **C++字符集** - 英文字母:A~Z,a~z - ...

    C++例题源代码及课后习题答案(吴乃陵版本)

    1. 输入输出流(I/O Streams):cin和cout用于标准输入输出,fstream库处理文件输入输出。 2. 控制结构:if-else、switch、for、while等流程控制语句。 3. 函数:声明、定义、参数传递、递归等。 4. 预处理器:宏...

    c++入门教程

    `iostream` 是 C++ 中用于处理输入输出操作的标准库之一,其中包含了 `cin` 和 `cout` 等用于输入输出的对象。 - **第 2 行**:空行。虽然在编译过程中会被忽略,但在实际编程中保持良好的代码格式是很重要的,空行...

Global site tag (gtag.js) - Google Analytics