以下は、文字列を分割してベクトルに格納するためにコーディングしたプログラムです。 特定のフィールドを文字列から取得し、パイプライン(|)記号を使用して予期された文字列を再度連結するにはどうすればよいですか?C++でベクトルの空白を取り除く方法
#include <iostream>
#include <vector>
#include <string>
#include <sstream>
using namespace std;
vector<string> split(string str, char delimiter)
{
vector<string> internal;
stringstream ss(str);
string tok;
while(getline(ss, tok, delimiter))
{
internal.push_back(tok);
}
return internal;
}
int main(int argc, char **argv)
{
string myCSV = "Event#:11918124|1234|67893|USD||||444400090|||||302|45|USA|||||";
vector<string> sep = split(myCSV, '|');
for(int i = 0; i < sep.size(); ++i);
cout << sep[0] << "|" << sep[3] << "|" << sep[7] << "|" << sep[14] << endl;
}
は出力:
Event#:11918124
1234
67893
USD
444400090
302
45
USA
予想される出力:。
Event#:11918124|USD|444400090|USA
誰もがC++で私を助けてくださいすることができ、私はCに新しいです++
スペースは '|'ではありません。あなたが尋ねたことをそのコードが行っているようです。そして、すべてを1行にしたいのであれば、各出力要素の後に 'endl'を送りますか? – WhozCraig