浮動小数点数ファイルをc++で読み込んで表示させたい
ファイル
time,X_value,Y_value,Z_value
0,0,0,0
0.0335,-0.107668948,0.312100648,0.816433625
0.0359,0.19649578,0.139677326,0.583983054
0.0702,-0.03009521,0.199336344,-0.03626917
.
.
.
コード
c++
1#include <fstream> 2#include <string> 3#include <sstream> 4#include <vector> 5 6using namespace std; 7 8vector<string> split(string& input, char delimiter) 9{ 10 istringstream stream(input); 11 string field; 12 vector<string> result; 13 while (getline(stream, field, delimiter)) { 14 result.push_back(field); 15 } 16 return result; 17} 18 19int main() 20{ 21 ifstream ifs("Test.csv"); 22 23 string line; 24 int count = 0; 25 while (getline(ifs, line)) { 26 if(count == 0) { 27 count++; 28 continue;//0行目は飛ばす 29 } 30 vector<string> strvec = split(line, ','); 31 32 for (int i=0; i<strvec.size();i++){ 33 //if(i == 0) continue; 34 printf("%5f, ", stof(strvec.at(i))); 35 } 36 printf("\n"); 37 //printf("%d",count); 38 count++; 39 } 40}
聞きたいこと
表示させたいファイルが
0, 914, 523
1, 915, 524
2, 914, 523
3, 914, 523
の時はprintf("%5f, ", stof(strvec.at(i)));
の部分をprintf("%5d, ", stoi(strvec.at(i)));
とすることで表示できたが今のコードでは表示されない。
エラーが出るわけでもないのでなぜ表示されないのかが分からない
結果
>g++ -o Read Read.cpp >./Read >
追記
ファイルの中身が以下の用であったらうまくいきました。
time,X_value,Y_value,Z_value
0,0,0,0
0.0335,-0.107668948,0.312100648,0.816433625
0.0359,0.19649578,0.139677326,0.583983054
大きさの問題なのですか?
そのまま、コピペしたら、問題無いようですが、、、。
Windows10, VS2019 C++
あなたの回答
tips
プレビュー