以下に、ファイルからのlineという文字列があります。文字列には、文字列を区切るためのコンマがあります。最初の部分は文字列ベクトルに、2番目の部分は浮動小数点ベクトルになります。それ以降は使用されません。
最初の部分は「テキスト」として出てきますが、これは正しいです。しかし、2番目のものは「248」を示していますが、「1.234」と表示されているはずです
これを正しく変換するのに助けが必要です。どんな助けでも大歓迎です、ありがとう。
私はプログラミングにとても慣れていません。ひどいスタイルでごめんなさい。
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main ()
{
string line ("test,1.234,4.3245,5.231");
string comma (",");
size_t found;
size_t found2;
string round1;
float round2;
vector<string> vector1;
vector<float> vector2;
// Finds locations of first 2 commas
found = line.find(comma);
if (found!=string::npos)
found2 = line.find(comma,found+1);
if (found2!=string::npos)
//Puts data before first comma to round1 (string type)
for (int a = 0; a < found; a++){
round1 = round1 += line[a];
}
//Puts data after first comma and before second comma to round2 (float type)
for (int b = found+1; b < found2; b++){
round2 = round2 += line[b];
}
//Puts data to vectors
vector1.push_back(round1);
vector2.push_back(round2);
cout << vector1[0] << endl << vector2[0] << endl;
return 0;
}