CString 数字类型字符串,分隔保存到Vector
时间: 2023-07-04 21:21:10 浏览: 277
好的,您可以使用以下代码将一个 CString 类型的数字类型字符串按照指定分隔符分隔,并保存到一个 vector 中:
```c++
#include <vector>
#include <string>
#include <sstream>
std::vector<std::string> splitCString(CString str, char delimiter)
{
std::vector<std::string> result;
std::stringstream ss(CW2A(str));
std::string item;
while (std::getline(ss, item, delimiter))
{
result.push_back(item);
}
return result;
}
```
这个函数使用了 stringstream 和 getline 函数来实现分隔字符串的功能,其中 CW2A 函数用于将 CString 转换为 char* 类型。您可以调用这个函数,并传入需要分隔的 CString 字符串和分隔符,例如:
```c++
CString str = _T("123,456,789");
std::vector<std::string> vec = splitCString(str, ',');
```
这个例子中,vec 将会保存分隔后的三个字符串 "123","456" 和 "789"。
相关问题
CString 数字类型字符串,分隔保存到Vector<in>
好的,您可以使用以下代码将一个 CString 类型的数字类型字符串按照指定分隔符分隔,并保存到一个 vector<int> 中:
```c++
#include <vector>
#include <string>
#include <sstream>
std::vector<int> splitCStringToInt(CString str, char delimiter)
{
std::vector<int> result;
std::stringstream ss(CW2A(str));
std::string item;
while (std::getline(ss, item, delimiter))
{
result.push_back(std::stoi(item));
}
return result;
}
```
这个函数使用了 stringstream 和 getline 函数来实现分隔字符串的功能,其中 CW2A 函数用于将 CString 转换为 char* 类型。在遍历分隔后的字符串时,我们使用 std::stoi 函数将字符串转换为整数,并将其保存到 vector<int> 中。您可以调用这个函数,并传入需要分隔的 CString 字符串和分隔符,例如:
```c++
CString str = _T("123,456,789");
std::vector<int> vec = splitCStringToInt(str, ',');
```
这个例子中,vec 将会保存分隔后的三个整数 123,456 和 789。
CString数字字符串,分隔转换成vector<int>
好的,我可以帮你处理这个问题。你可以将CString类型的数字字符串先转换为标准C++字符串string,然后再按照上述方法将其转换为vector<int>。下面是一个示例代码:
```cpp
#include <iostream>
#include <sstream>
#include <vector>
#include <string>
using namespace std;
vector<int> cStringToVector(const CString& s) {
string str(s);
stringstream ss(str);
vector<int> v;
int num;
char c;
while (ss >> num) {
v.push_back(num);
if (ss >> c && c != ',') {
break;
}
}
return v;
}
int main() {
CString s = "1,2,3,4,5";
vector<int> v = cStringToVector(s);
for (int i : v) {
cout << i << " ";
}
cout << endl;
return 0;
}
```
在上述代码中,我们定义了一个名为cStringToVector的函数,它将输入的CString类型的数字字符串转换为vector<int>。在函数中,我们首先将CString类型的数字字符串转换为标准C++字符串string类型,然后按照上述方法将其转换为vector<int>。在读取数字后,我们还需要读取一下逗号,以便在读取下一个数字时正确处理。最后,我们返回生成的vector。
在主函数中,我们使用一个示例数字字符串"1,2,3,4,5"调用cStringToVector函数,并将结果打印到屏幕上。
希望这能对你有所帮助!
阅读全文