21xrx.com
2024-09-20 00:10:48 Friday
登录
文章检索 我的文章 写文章
C++中如何结束字符串数组的输入?
2023-07-06 21:28:21 深夜i     --     --
C++ 字符串数组 结束输入

在C++中,我们通常使用字符串数组来存储一串字符。使用字符串数组时,我们需要知道如何结束输入,以确保程序能顺利执行并防止出现错误。

在C++中,我们可以使用空格、制表符和回车键来分割单个字符串,但是如何结束字符串数组的输入呢?有两种方法可以实现。

方法一:使用特定字符结束输入

我们可以定义一个特定的字符来表示字符串数组的结束,这通常是一个空字符,也就是'\0'。当程序检测到空字符时,它会认为字符串已经输入完成。

下面是一个示例程序:


#include <iostream>

using namespace std;

int main() {

  const int SIZE = 100;

  char myArr[SIZE];

  int i = 0;

 

  while(i < SIZE && cin.peek() != '\n') {

   cin >> myArr[i];

   i++;

  }

  myArr[i] = '\0';

 

  return 0;

}

在这个程序中,我们定义了一个字符数组`myArr`和一个常量`SIZE`。在while循环中,我们使用`cin.peek()`函数检查前面的字符是否为回车键,如果不是,程序会继续读取输入数据。当输入完成后,程序会在最后一个字符后面添加一个空字符。

方法二:使用getline()函数结束输入

第二种方法是使用`getline()`函数,该函数可以自动检查输入结束的标志。使用`getline()`可以读取一行字符串,将其存储在由用户定义的字符串变量中,并在读取行结束时自动停止读取。

下面是一个使用`getline()`函数的示例程序:


#include <iostream>

#include <string>

using namespace std;

int main() {

  const int SIZE = 100;

  char myArr[SIZE];

 

  cin.getline(myArr, SIZE);

 

  return 0;

}

使用`getline()`函数读取字符串时,我们需要将目标字符串变量和最大读取字符数传递给函数。在这个示例程序中,我们定义了一个常量`SIZE`和一个字符数组变量`myArr`。在`getline()`函数中,我们将`myArr`和`SIZE`传递给函数,以便它可以从标准输入流中读取字符串。当输入行结束时,`getline()`函数会自动停止读取。

通过以上两种方法,我们可以在C++中轻松结束字符串数组的输入。无论您选择哪种方法,都应该考虑输入数据类型和错误检查以确保程序运行到最后。

  
  

评论区

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