CSV에서 한 줄씩 읽으며 쉼표로 구분 된 값을 토큰 화합니다. 각 토큰은 문자열 유형입니다. 그리고 그것을 float 타입의 벡터에 넣을 것입니다. 예를 들어 csv의 값이 "0.08", * beg = "0.08"이고 벡터의 값이 "0.079999998"이면벡터에서 push_back을 할 때 정밀도를 설정하십시오.
여기에 정밀도를 설정할 수 있습니까? 3 자릿수 또는 무언가로 벡터.
예 :
string line;
boost::char_separator<char> sep(",");
typedef boost::tokenizer< boost::char_separator<char> > t_tokenizer;
ifstream myfile (fileName);
if(myfile.is_open())
{
while (myfile.good())
{
getline (myfile,line);
t_tokenizer tok(line, sep);
for (t_tokenizer::iterator beg = tok.begin(); beg != tok.end(); ++beg)
{
string temp = *beg;
this->v.push_back(::atof(temp.c_str()));
}
* "그러나 벡터에서"0.079999998 ""* - 어떻게 알 수 있습니까? –
디버깅 할 때 벡터를 확인합니다. – Lexicon