从字符串中保存矢量中的整数
Saving integers in vector from string
我有这个字符串,其中包含用/
彼此分割的数字,例如24/2/13
。我想把它们单独保存在一个int向量中,但它给了我这个错误,expected unqualified-id before '.' token|
。我知道这可能是一个愚蠢的错误,但这只是现在的问题:)。下面是代码:
int t;
string s;
for(int i=0;i<final_states.size();i++)
{
if(final_states.at(i)!='/')
s.push_back(final_states.at(i));
else
{
t=atoi(s.c_str());
temp_final_states.push_back(t);
s.clear();
}
}
假设你的字符串总是以一个数字值开始,'/'字符不在字符串的末尾,这应该为你做:
std::string final_states="24/2/13";
std::vector<int> temp_final_states;
temp_final_states.push_back(atoi(final_states.c_str()));
std::string::size_type index = final_states.find('/');
for (; index != std::string::npos; index = final_states.find('/', index) )
{
++index;
const char* str = final_states.c_str() + index;
temp_final_states.push_back(atoi(str));
}
我认为这是一个编译错误。看起来您正在遍历final_states。但是你试着在temp_final_states上调用push_back()。
参考下面的示例代码http://ideone.com/id7E22
char str[] ="22/33/44";
char * pch;
cout<<"Splitting string into tokens:n"<<str;
pch = strtok (str,"/");
vector<int> vec;
while (pch != NULL)
{
int val = atoi(pch);
cout<<" "<<val;
vec.push_back(val);
pch = strtok (NULL, "/");
}
相关文章:
- 如何反转整数参数包
- enum是C++中的宏变量还是整数变量
- 努力将整数转换为链表。不知道我在这里做错了什么
- 在全局变量中保存类的实例以重新创建类(创建"backup")
- 整数不会重复超过随机数
- 在C++中手动调整数组大小
- 在模型中保存整数的方法,与QStyledItemDelegate兼容
- 在 c++ 的数组中保存子整数
- 将浮点数保存到整数中,而不会丢失浮点精度
- 如何保存用户的整数输入,并返回字符串值?
- 保存未知数量的整数,而不会花费太多时间/内存
- 保存一组整数的最佳方法
- C++从文件中读取整数并保存到数组中
- overflow_error在运行时捕获 C++ 当整数变量无法保存它不应该保存的值时
- 如何在C++中保存大于 64 位的整数
- 如何将.txt文件中的未知数字整数保存到数组中
- 保存当前日期为3个整数- c++
- 从字符串中保存矢量中的整数
- 使用next_permutation函数后如何保存字符串/整数
- 使用OpenCV保存整数CV_32S图像