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];
我在使用生成单词的所有子序列的函数时遇到问题。问题是:
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];