21xrx.com
2024-11-22 07:39:27 Friday
登录
文章检索 我的文章 写文章
C++如何读取包含数字和非数字字符的字符串
2023-07-05 08:16:55 深夜i     --     --
C++ 读取 字符串 数字 非数字

在C++中,有时候需要读取包含数字和非数字字符的字符串,并进行相应的处理。这里介绍一些常用的方法。

一、使用循环遍历字符串的每个字符

可以使用循环遍历字符串中的每个字符,然后判断字符是数字还是非数字字符,进而进行相应的处理。具体的做法可以使用C++中的char类型和isdigit()函数。代码如下:


#include <iostream>

#include <string>

using namespace std;

int main() {

  string str = "w4a3y1s5o6";

  for (int i = 0; i < str.length(); i++) {

    if (isdigit(str[i])) {

      cout << str[i] << "是数字" << endl;

    }

    else {

      cout << str[i] << "是非数字字符" << endl;

    }

  }

  return 0;

}

二、使用stringstream类逐个读取字符串中的元素

stringstream是C++标准库中的一个类,可以将字符串和数字之间进行转换。可以使用这个类来逐个读取字符串中的每个元素,然后进行相应的处理。具体的做法可以使用stringstream类的stringstream()函数、>>运算符和peek()函数。代码如下:


#include <iostream>

#include <string>

#include <sstream>

using namespace std;

int main() {

  string str = "w4a3y1s5o6";

  stringstream stream(str);

  char c;

  int n;

  while (stream >> c) {

    if (isdigit(c)) {

      stream.unget();

      stream >> n;

      cout << n << "是数字" << endl;

    }

    else

      cout << c << "是非数字字符" << endl;

    

  }

  return 0;

}

以上是两种常用的读取包含数字和非数字字符的字符串的方法,根据不同的需求可以灵活运用。

  
  

评论区

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