我有一些逗号分隔的字符串,需要从中提取值。问题是这些字符串的大小永远不固定。所以我决定遍历逗号分组并读取它们之间的内容。为了做到这一点,我编写了一个函数,在示例字符串中返回每个出现位置。
这样做聪明吗?这被认为是糟糕的代码吗?
这样做聪明吗?这被认为是糟糕的代码吗?
#include <string>
#include <iostream>
#include <vector>
#include <Windows.h>
using namespace std;
vector<int> findLocation(string sample, char findIt);
int main()
{
string test = "19,,112456.0,a,34656";
char findIt = ',';
vector<int> results = findLocation(test,findIt);
return 0;
}
vector<int> findLocation(string sample, char findIt)
{
vector<int> characterLocations;
for(int i =0; i < sample.size(); i++)
if(sample[i] == findIt)
characterLocations.push_back(sample[i]);
return characterLocations;
}
i
不应该达到sample.length()
,所以你的for循环条件应该是i < sample.length()
。 - Shahbaz