C ++从字符转换为字符串?

问题描述

在将向量的char值转换为字符串时遇到一些问题。 我有一个全局声明的向量。

std::vector<Musician> aMusician;

存储从文件中读取的值并读入结构

struct Musician {
char code;
int impact;
};

code是值A,B,C,D,E,F,G或H的单个字符

我有一个接受字符串值并检查此字符串值是否包含任何可能的代码函数(示例字符串x = ABCD,它将包含代码A B C和D)。使用字符串流转换后,使用标准的字符串目标存储字符。

它的用法如此

std::stringstream ss;
std::string target;

 for (Musician musc : aMusician)
    {
      ss << musc.code;
      ss >> target;

if (target.find(variable1.at(0)) != std::string::npos) {
//code
}
 
}

但是它们不匹配。目标仅存储A,其中向量包含A,B,C,D,E,F,G,H。换句话说,Target只存储第一个代码

下面是我同时输出目标值和矢量值时的测试输出

vector: A
target: A
vector: B
target: A(should be B)
vector: C
target: A (should be C.....etc)
vector: D
target: A
vector: E
target: A
vector: F
target: A
vector: G
target: A
vector: H

下面是正在使用的文件的示例记录以及它们如何匹配

文件包含代码(在本例中为A)

A:Lead singer:2:10:3.
B:backing singer:5:2:2.
C:guitarist:3:6:2.
D:Singing guitarist:2:8:3.

包含要匹配的单词的文件在这种情况下,例如,A与A1和band1匹配)

band1:A1B3C4.
band2:A4B1C5D1E1H5

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)