21xrx.com
2024-11-08 22:24:00 Friday
登录
文章检索 我的文章 写文章
C++ 如何逐行输入数据?
2023-07-02 04:05:14 深夜i     --     --
C++ input data readline getline

C++是一种功能强大的编程语言,它广泛用于各种不同领域的应用程序开发。在许多情况下,C++需要逐行读入数据,这些数据可以是数字、字符串、数组等。以下是如何在C++中逐行输入数据的方法。

1. cin.getline()

cin.getline()函数可以知道有多少行数据需要读入,它是一个非常常见的方式。例如,如果我们需要读取五个学生的姓名和年龄,可以使用如下代码:


#include <iostream>

using namespace std;

int main() {

  string name[5];

  int age[5];

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

    cout << "Please enter the name of student " << i+1 << ": ";

    cin.getline(name[i], 50); // 50为每个姓名的最大长度

    cout << "Please enter the age of student " << i+1 << ": ";

    cin >> age[i];

    cin.ignore(); // 忽略换行符

  }

  return 0;

}

2. getline()

getline()函数也是C++中逐行读入数据的函数之一,可以轻松地读取一行不定长的字符串。例如,我们需要逐行读取一个文本文件中的内容,可以使用如下代码:


#include <iostream>

#include <fstream>

using namespace std;

int main() {

  string line;

  ifstream myfile("example.txt"); // example.txt为文件路径

  if (myfile.is_open()) {

    while (getline(myfile, line)) {

      cout << line << '\n';

    }

    myfile.close();

  }

  else cout << "Unable to open file" << endl;

  return 0;

}

3. cin.ignore()

C++中的cin.ignore()函数可以用来忽略换行符。在读取字符串和整数时,有时候会出现问题,原因是在读取完整数的时候,输入缓冲区中还会有换行符,cin.ignore()可以清除输入缓冲区,以避免这种问题。


#include <iostream>

using namespace std;

int main() {

  string name;

  int age;

  cout << "Please enter your name: ";

  cin >> name;

  cin.ignore();

  cout << "Please enter your age: ";

  cin >> age;

  return 0;

}

在C++中逐行读取数据是一个常见的编程需求,无论是从命令行读取、文件读取或者其他来源,上述方法都可以帮助我们轻松解决这个问题。让我们尽情发挥C++的优势,为我们的应用程序提供更强大的功能。

  
  

评论区

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