Const char 到数组 C++

Const char to Array C++

我在使用生成单词的所有子序列的函数时遇到问题。问题是:

cout << *(s + y) ;

此行打印的是一个字符,我想将此 "char" 添加到数组中

喜欢:

char str[100];
str+=(cout << *(s + y) );

我知道这是错误的,但有什么办法可以做到这一点?将一个字符一个字符地添加到数组中? (这个类型*(s + y)也很旧,编译器显示很多问题)

函数:

void encontra(const char *s)
{
    string str;
    while(*s)
    {
        int x=0;
        while(*(s + x))
        {
            for(int y = 0; y <= x; y++)
                cout << *(s + y) ;
            cout << "\n";
            x++;
        }
        s++;
    }
}

表达式有两个问题

str+=(cout << *(s + y) )

首先是输出运算符<< returns流的引用

第二个问题是您不能像那样附加到数组。

而不是使用std::string,那么您可以轻松地向字符串追加字符:

std::string str;
std::cout << s[y];
str += s[y];