21xrx.com
2024-05-20 04:06:22 Monday
登录
文章检索 我的文章 写文章
C++如何读取一行数字
2023-07-11 22:46:24 深夜i     --     --
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;

}

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

  
  

评论区

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