21xrx.com
2024-06-03 01:29:54 Monday
登录
文章检索 我的文章 写文章
C++教程:逐个读取字符的方法
2023-07-09 22:55:24 深夜i     --     --
C++ 教程 读取字符 逐个 方法

在C++中,逐个读取字符是一个非常基本的操作,无论是在文件读写还是在字符串处理中都很常见。本篇文章就为大家介绍一下如何使用C++逐个读取字符的方法。

在C++中,我们通常使用 char 类型的变量来存储一个字符。为了逐个读取字符,我们可以使用 C++ 标准库提供的五个函数:get()、getline()、read()、peek() 和 unget()。

第一个函数是 get() 函数,它可以用来从输入流中逐个读取字符,并将其存储到 char 类型的变量中。使用方法如下:


char ch;

cin.get(ch);

在上面的代码中,我们首先声明一个 char 类型的变量 ch,然后使用 get() 函数从标准输入流(也就是键盘输入)中读取一个字符,并将其存储到 ch 变量中。如果输入流中没有可读取的字符,get() 函数会返回一个 EOF(End Of File)。

第二个函数是 getline() 函数,它可以用来从输入流中读取一行字符串,并将其存储到字符串类型的变量中。我们可以将 getline() 函数与 stringstream 流一起使用,来逐个读取字符串中的字符。使用方法如下:


#include <iostream>

#include <string>

#include <sstream>

using namespace std;

int main()

{

  string str = "Hello World!";

  stringstream ss(str);

  char ch;

  while(ss.get(ch))

  

    cout << ch << endl;

  

  return 0;

}

在上面的代码中,我们首先声明了一个字符串类型的变量 str,然后使用 stringstream 流将其转换为输入流 ss。接着,我们使用 while 循环和 get() 函数逐个读取字符,并将其输出到屏幕上。

第三个函数是 read() 函数,它可以用来从输入流中读取指定长度的字符,并将其存储到 char 类型的数组中。使用方法如下:


#include <iostream>

using namespace std;

int main()

{

  char str[20];

  cin.read(str, 5);

  for(int i=0; i<5; i++)

  {

    cout << str[i] << endl;

  }

  return 0;

}

在上面的代码中,我们首先声明了一个 char 类型的数组 str,并分配了 20 块内存空间。然后,我们使用 cin.read() 函数从标准输入流中读取 5 个字符,并将其存储到 str 数组中。最后,我们使用 for 循环将 str 数组中的字符逐个输出到屏幕上。

第四个函数是 peek() 函数,它可以用来读取输入流中下一个字符,并在不改变输入流的状态的情况下返回该字符。使用方法如下:


char ch = cin.peek();

在上面的代码中,我们使用 peek() 函数从标准输入流中读取下一个字符,并将其存储到 ch 变量中。该函数不会消耗输入流中的字符,因此可以多次调用。

第五个函数是 unget() 函数,它可以用来将读取的字符放回输入流中。使用方法如下:


char ch = cin.get();

cin.unget(ch);

在上面的代码中,我们首先使用 get() 函数从标准输入流中读取一个字符,并将其存储到 ch 变量中。然后,我们使用 unget() 函数将该字符放回输入流中。这样,该字符就可以再次被读取到。

以上就是C++逐个读取字符的方法,希望能对大家有所帮助。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复