如何在C++中将字符串中的元素转换为它自己的字符串?
How to convert element in string into it's own string in C++?
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
更改为更大的数字,您将获得单个字符的许多副本。在第二种情况下,您将得到一个更长的子字符串。
相关文章:
- 如何将包含epoch时间的十六进制字符串转换为time_t
- 当字符串存储在变量中时,如何将字符串转换为wchar_t
- 如何将这个std::字符串转换为std::基本字符串
- 如何正确将字符串转换为标准::时间::system_clock::time_point?
- 如何在C++中将十六进制字符串转换为文本数据
- 需要帮助在 c++ 中将字符串转换为字符 ----错误 "const char *" 类型的值不能用于初始化 "char" 类型的实体
- 如何从字符串转换为双精度*
- C++:如何将 unix 时间的字符串转换为 *tm?(使用时间错误:"cannot convert 'String' to 'tm*' ")
- 如何在C++中将 Python 字符串转换为其转义版本?
- 如何在 C++11 中将标准::字符串转换为标准::u32字符串?
- 如何将整数字符串转换为整数的二维向量?
- 使用 "stringstream " 将字符串转换为整数
- 将字符串转换为浮点数或整数,而无需使用内置函数(如 atoi 或 atof)
- 将文件复制到自定义位置,存在字符串转换问题
- 将ANSI C字符串转换为UNICODE
- 如何将节点 V8 字符串转换为 C++ 字符串
- 在C++中将字符串转换为双精度,而无需科学记数法
- 使用从文件(stod、strtod、atof)中提取的数据C++从字符串转换为双精度.csv
- 如何在C++中将字符串转换为双精度?
- 将字符串转换为无符号字符数组/字节数组