小编bil*_*llz的帖子

检查字符串是否包含非字母数字字符

我正在尝试编写一个函数,它接受一个字符串作为参数并检查该字符串是否只包含一个非字母数字字符,如果是这种情况则返回true,否则返回false.

例如:

'Alex's' would return true. 
James..Warner would return false.
Run Code Online (Sandbox Code Playgroud)

我目前的代码如下,但我觉得它不起作用.因为我在其他地方有一个基本上算真实的数字.使用包含字符串的地图完成.对于输入的单词,我获得的计数值太高了.

bool Class3::filter(string word)
    {
        string s = word;
        int len = s.size();

        for (int i=0; i<len; i++)
        {   if(!isalnum(s[i])){
            return true;}
            else{return false;}  
        }
     }
Run Code Online (Sandbox Code Playgroud)

c++ string character non-alphanumeric

0
推荐指数
1
解决办法
8680
查看次数

以我的方式向后写一个字符串,有时会产生与字符'w'相关的额外输出

这一直令人难以置信,简单的代码:

int main()
{
    typedef std::string::size_type stype;
    std::cout << "What is your first name?\n";
    std::string first,second,fullname;
    std::cin >> first;
    std::cout << "What is your second name?\n";
    std::cin >> second;
    char * backwards;
    fullname = first + " " + second;
    stype fnsize = fullname.size();    
    backwards = new char [fnsize];
    stype b = 0;
    for(stype a = fnsize; a != 0; --a)
    {
       backwards[b++] = fullname[a - 1];
    }
    std::cout << backwards << std::endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

大部分时间都在工作,但是当我写一个像我自己的名字stanislaw terziev时,我得到一个输出 …

c++ string iostream

0
推荐指数
1
解决办法
360
查看次数

从char类型转换为int会产生不同的结果

我想知道在下面的代码中为什么i和j的结果是不同的.对于我的直觉,b也指向了值为4的char的地址.为什么i和j的结果不同

char c='4';
const char *b;
int i,j;

i=atoi(string(1,c).c_str());
b=string(1,c).c_str();
j=atoi(b);
cout<<i<<" "<<j<<endl;
Run Code Online (Sandbox Code Playgroud)

c++ string int char

0
推荐指数
1
解决办法
93
查看次数

C++类构造函数定义了public,表示它受到保护

我有一个项目具有多级继承.它是这样的

XMLs -> Entity -> Item然后有许多项继承自Item,然后从Entity继承.现在,我按照所示定义了每个类

    class Entity: public XMLs
    {
     public: 
            Entity() {}
            virtual ~Entity() {};
         //other functions
    };
Run Code Online (Sandbox Code Playgroud)

这是给我带来麻烦的.每当我尝试在我的main函数中创建一个Item对象或任何类型的对象时,它会给我以下错误

/usr/include/c++/4.6/ostream:在构造函数'Entity :: Entity()'中:/usr/include/c++/4.6/ostream:363:7:错误:'std :: basic_ostream <_CharT,_Traits>: :basic_ostream()[with _CharT = char,_Traits = std :: char_traits]'受保护

这是什么意思?我关于构造函数和受保护的所有内容涉及到我公开的关键字保护.

c++ inheritance constructor protected public

-1
推荐指数
1
解决办法
323
查看次数

从文本内容中略过逗号和其他标记字符,并用空格替换它

在使用c ++执行此操作时,我们可以扫描从第一个char到strlen(text)-1的整个内容,并检查逗号和标点符号.如果找到char,那么我们可以用"space"或任何其他char替换它.

for(i=0;i<str.strlen();i++)
{
    if(ch[i] == ',' or [other])  //assume I have copied content of str in ch[]
       ch[i]=' ';
}
Run Code Online (Sandbox Code Playgroud)

但是有没有提供此功能的C++函数或类?

我正在处理字符串,unordered_map,isstringstream,vector.每个都有自己的功能.但这有什么可以用于我的上述目的吗?或者是其他东西?

c++ string

-1
推荐指数
1
解决办法
1292
查看次数

如何在C++中创建一个动态的类数组

我想知道如何动态创建一个类数组,我试着做一个

class A{
public:
int a;
int b;
}

main(){
A *temp;
temp[somevalue] = new (temp)
}
Run Code Online (Sandbox Code Playgroud)

但问题是我不想将我的数组限制为某些值我想扩展它,我想使用std::vectorstd::list但我陷入了实施

c++

-6
推荐指数
1
解决办法
113
查看次数