21xrx.com
2024-12-22 17:01:50 Sunday
登录
文章检索 我的文章 写文章
C++读取多行输入数据(包括换行)
2023-07-05 00:32:34 深夜i     --     --
C++ 多行输入 读操作 换行 数据读取

C++是一种编程语言,其中有许多方法可以读取多行输入数据,包括换行符。在本文中,我们将介绍一些C++中最常用的方法。

方法一:getline()

getline()是读取多行输入数据最常用的方法之一。它使用std::getline函数来读取数据,并将其存储在std::string类型的变量中。此方法的语法如下:


std::string input;

std::getline(std::cin, input);

上述代码将读取一行输入数据,并存储在input变量中。如果需要读取多行输入数据,可以使用循环并连续调用getline()函数。例如:


std::vector<std::string> inputs;

std::string input;

while(std::getline(std::cin, input)){

  inputs.push_back(input);

}

上述代码将读取多行输入数据,并将每行输入存储在std::vector类型的变量inputs中。

方法二:cin.getline()

除了使用getline()函数之外,还可以使用cin.getline()函数来读取多行输入数据。该函数的语法如下:


char input[100];

std::cin.getline(input, 100);

上述代码将读取一行输入数据,并将其存储在char类型的数组input中。如果需要读取多行输入数据,可以使用循环并连续调用cin.getline()函数。例如:


std::vector<std::string> inputs;

char input[100];

while(std::cin.getline(input, 100)){

  inputs.push_back(input);

}

上述代码将读取多行输入数据,并将每行输入存储在std::vector类型的变量inputs中。

方法三:scanf()

scanf()函数也是一种读取多行输入数据的常用方法。此方法的语法如下:


char input[100];

scanf("%[^\n]s", input);

上述代码将读取一行输入数据,并将其存储在char类型的数组input中。如果需要读取多行输入数据,可以使用循环并连续调用scanf()函数。例如:


std::vector<std::string> inputs;

char input[100];

while(scanf("%[^\n]s", input) != EOF){

  inputs.push_back(input);

}

上述代码将读取多行输入数据,并将每行输入存储在std::vector类型的变量inputs中。

总结

以上是C++中常用的三种读取多行输入数据的方法。对于需要同时读取多个数据类型的情况,可以使用std::stringstream类将其转换为需要的数据类型。无论使用哪种方法,读取多行输入数据都应该始终保证程序的稳定性和正确性。

  
  

评论区

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