私はCSVファイルを読み取るプログラムを作成しようとしています。このファイルには、Twitterユーザーからの情報があり、ユーザー名、画面名、ID、リンク、レコード数が含まれています。私はほとんどのツイートでトップ5のユーザーを見つけるために私のプログラムを必要とし、私のコードは以下の通りです:CPPからCSVのトップ10レコードを読む
何らかの理由string screen_name;
string user_class;
string user_id;
string user_link;
int num_records;
string str_num_records;
getline(stream_s, screen_name, ',');
getline(stream_s, user_class, ',');
getline(stream_s, user_id, ',');
getline(stream_s, user_link, ',');
getline(stream_s, str_num_records);
string user[5];
int tweets[5];
int top20=0;
int req_recs = 750;
cout<<"Please be patient as this may take up to 60 seconds"<<endl;
while (top20<=4){
if (num_records==req_recs){
//cout << "records = " << str_num_records << endl;
stringstream num_records_stream(str_num_records);
num_records_stream >> num_records;
cout << "User: "<<screen_name<<" has "<<num_records<<" records"<< endl;
cout <<"\n\n";
req_recs-=1;
top20+=1;
}
else{
req_recs-=1;
}
}
、私はそれを実行するたびに、私は同じレコードごとに単一の時間を作る、と私はしようとすると、私の配列を呼び出すと、ユーザー名の出力が得られず、もう1つの配列のレコード数が大幅に少なくなるか、または大量になります。何か案は?
これは、デバッガの使用方法を学ぶ非常に良い候補です。デバッガを使ってコードをステップ実行し、変数の値を監視するのはStackOverflowへのポストよりもずっと高速です。 –
申し訳ありませんが、使用できるコンパイル可能な例がないため、私はデバッガを使用できません。代わりにデバッガを使用する必要があります。 –
あなたは 'std :: map'を使用して、' std :: map 'のようにユーザの数を数えることができます。 'std :: string'はユーザの名前になり、' int'はそのオカレンスになります。 –