如何在C++中将字符串中的元素转换为它自己的字符串?

How to convert element in string into it's own string in C++?

本文关键字:字符串 转换 它自己 自己的 元素 C++      更新时间:2023-10-16
string line = "testtesttest";
string whole = line[i]; 

为什么这段代码不能工作?我需要做这个转换,这样我就可以使用strcmp来比较字符串元素和字符数组

char symbols[3][3] = {'--', '*-', '-*'};

I was trying to do this

if (strcmp(line[i],symbols[j]) == 1)

,但显然line[i]不算作字符串,所以我认为将line[i]转换为字符串将是最好的做法。我已经尝试了多个其他转换,以找到一种方法来比较string[i]的元素到每个字符的symbol,但没有什么是为我工作。我试过strcpy和更多的东西,我很沮丧,任何帮助都很感激。

参见std::string构造函数列表:http://www.cplusplus.com/reference/string/string/string/

你可以从另一个字符串中创建一个包含单个字符的字符串,像这样:

string whole(1, line[i]);

或者像这样:

string whole(line, i, 1);

在第一种情况下,如果您将1更改为更大的数字,您将获得单个字符的许多副本。在第二种情况下,您将得到一个更长的子字符串。