21xrx.com
2025-03-18 00:56:53 Tuesday
文章检索 我的文章 写文章
C++如何读取一行数字
2023-07-11 22:46:24 深夜i     298     0
C++ 读取 一行数字

在C++中,读取一行数字可能看起来很简单,但实际上有很多不同的方法可以实现。下面是一些常见的方法:

1. 使用getline()函数,该函数可以从输入流中读取一行字符串,并存储到一个字符串变量中。然后可以使用stringstream将字符串转换为数字,并进行必要的错误检查。

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
  string input;
  getline(cin, input);
  stringstream ss(input);
  int num;
  while (ss >> num)
    // 进行操作
  
  return 0;
}

2. 使用cin.getline()函数,该函数可以从输入流中读取一行字符数组(即C风格字符串),然后可以使用atoi或strtol函数将字符串转换为数字。

#include <iostream>
#include <cstdlib>
using namespace std;
int main() {
  const int MAX_LEN = 100;
  char input[MAX_LEN];
  cin.getline(input, MAX_LEN);
  char* p = input;
  while (*p != '\0') {
    if (isdigit(*p)) {
      int num = atoi(p);
      // 进行操作
      while (isdigit(*p)) {
        ++p;
      }
    }
    else {
      ++p;
    }
  }
  return 0;
}

3. 使用scanf()函数,该函数可以从输入流中读取一行数字,并使用格式字符串指定读取的格式。

#include <cstdio>
int main() {
  int num;
  while (scanf("%d", &num) != EOF)
    // 进行操作
  
  return 0;
}

无论选择哪种方法,都应该进行必要的错误检查,以确保程序的正确性和稳定性。

  
  

评论区

请求出错了