Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在C+中读取行时过滤非字母数字字符+;?_C++_Inputstream_User Input - Fatal编程技术网

C++ 在C+中读取行时过滤非字母数字字符+;?

C++ 在C+中读取行时过滤非字母数字字符+;?,c++,inputstream,user-input,C++,Inputstream,User Input,在C/C++中,是否可以只从给定的输入行读取字母数字字符,而忽略其他所有内容?我试着一次读整行 假设我们必须读一行: aaa, bbb, ccc . 在这里,我的意图是在输入时忽略逗号、点和空格 您可以编写字符串数组,并使用逗号、点和空格作为字符串分隔符。将每个字符串存储在数组中,然后输出它 aaa, bbb, ccc . aaa will be stored in string[0] bbb will be stored in string[1] ccc will be stored i

在C/C++中,是否可以只从给定的输入行读取字母数字字符,而忽略其他所有内容?我试着一次读整行

假设我们必须读一行:

 aaa, bbb, ccc .

在这里,我的意图是在输入时忽略逗号、点和空格

您可以编写字符串数组,并使用逗号、点和空格作为字符串分隔符。将每个字符串存储在数组中,然后输出它

aaa, bbb, ccc .

aaa will be stored in string[0]
bbb will be stored in string[1]
ccc will be stored in string[2]
然后通过for循环输出字符串,您将得到


aabbcc

您可以通过多种方式完成此操作,例如,最简单的方法是读取整行内容,然后删除以后不需要的位:

#include <algorithm>
#include <iostream>
#include <string>
#include <functional>
#include <ctype.h>

int main() {
  std::string line;
  while (std::getline(std::cin, line)) {
    line.erase(std::remove_if(line.begin(), line.end(), std::not1(std::ptr_fun(isalnum))), line.end());
    std::cout << line << "\n";
  }
}
#包括
#包括
#包括
#包括
#包括
int main(){
std::字符串行;
while(std::getline(std::cin,line)){
line.erase(std::remove_if(line.begin()、line.end()、std::not1(std::ptr_fun(isalnum))、line.end());

std::cout这就是我试图做的,但我无法让它工作:pI必须忽略除逗号、点和空格之外的所有非字母数字字符。