C++ 在字符串C+中查找标点符号+;

C++ 在字符串C+中查找标点符号+;,c++,string,punctuation,C++,String,Punctuation,我正在处理一个向量,并试图在这个向量中填充一个txt文件中的单词列表,条件是这个单词没有标点符号。我把每一行看作一个字符串,并试图找到一个好方法来测试字符串中是否有标点符号 我对字符串中的所有撇号都有类似的处理,但需要将其推广到所有标点符号。如果该行没有撇号,则继续执行代码的其余部分 if ((find(line.begin(), line.end(), '\'')) == line.end()) 我是新来的,任何帮助都将不胜感激。我考虑过可能使用ispunct()函数,但不知道如何在这个函数

我正在处理一个向量,并试图在这个向量中填充一个txt文件中的单词列表,条件是这个单词没有标点符号。我把每一行看作一个字符串,并试图找到一个好方法来测试字符串中是否有标点符号

我对字符串中的所有撇号都有类似的处理,但需要将其推广到所有标点符号。如果该行没有撇号,则继续执行代码的其余部分

if ((find(line.begin(), line.end(), '\'')) == line.end())
我是新来的,任何帮助都将不胜感激。我考虑过可能使用ispunct()函数,但不知道如何在这个函数中实现它。

您可以使用和

当使用像
std::any_of
std::find_if
这样的东西时,最简单的方法是传递一个消息

就你的情况来看

#include <iostream>
#include <algorithm>
#include <cctype>

int main() {
    std::string str = "fdsfd/jl";

    if (std::any_of(str.begin(), str.end(), [](char c){ return std::ispunct(c); } ))
        std::cout << "PUNCT!";
    return 0;
}
#包括
#包括
#包括
int main(){
std::string str=“fdsfd/jl”;
if(std::任意_of(str.begin(),str.end(),[](char c){return std::ispunt(c);}))
std::无法阅读和。