QTのアプリケーションで作業していますが、C++ I/Oの新機能です。私は現在、2列といくつかの行を持っているCSVファイルからいくつかのデータを読みたいと思う:(1 | 10)(2 | 20)私はちょうどこのような配列にそれらを保存したい(1,10,2、 20)。いくつかの場合、2番目の列の値だけが配列に格納されます。ここにいくつかのコードがあります。だから、私が得る結果は、それが最初の列の最初の行を読み込むことで、その後、読み取りに移動getline()関数でCSVファイルを読むのが正しく動作しません。
void readingFiles::openFile(){
ofstream myFile;
myFile.open("/home/Dan/Desktop/mainFile.csv" ,std::ios::app);}
void readingFiles::addReadings(int readings1 , int readings2){
if(myFile.is_open()){
myFile<<readings1<<","<<readings2<<"\r";
myFile.close();
}
}
vector<int> values ;
ifstream iFile;
iFile.open("/home/Dan/Desktop/mainFile.csv");}
string data;
void readingFiles::read(){
for(int i =0; std::getline(iFile,data, ',') ; i++){
values.insert(values.end() , atoi(data.c_str()));
qDebug("vector list is %i" , values[i]);}
}
:私は何度もチェックしましたが、私はまだ私が間違ってやっているかを見ることができません2列目から、最初の列に戻ることはありません(1、10、20、30、40など)。私が得ようとしているのは、(1、10、2、20、3、30など)です。
あなたのコードは完全に台無しです。 'myFile <<'行の最後に ';'がなくなり、 '{'文字が不一致になります。実際にコンパイルするコードを投稿してください。 – Barmar
ああ私はこの質問をしたときにそれらは誤植です、私のメインコードは大丈夫です投稿を修正します – Dan
また、入力ファイルの可読な例を投稿してください。 – Barmar