2017-11-22 14 views
-1

例:カンマ区切り文字をカンマ区切りにしてtxtをどのように処理するか?テキストの

外来VISIT 4、プライベート、1,1,0,60,0,0
外来VISIT 4、プライベート、1,1,0、 "1260"、0,0私はそうのような文字列を分離しています現時点では

std::stringstream ss(checkLine); 

     getline(ss, something, ','); 
     getline(ss, somethingElse, ','); 
     getline(ss, somethingElse1, ','); 
     getline(ss, somethingElse2, ','); 
     getline(ss, somethingElse3, ','); 
     getline(ss, somethingElse4, ','); 
     getline(ss, somethingElse5, ','); 
     getline(ss, somethingElse6, ','); 

私はそれがテキストの最初の行のために動作しますが、それは二行目に来るとき進むやっている方法うんざりするそれ以上の数の行があります。2

文字列の各解析されたセクションを独自の文字列に格納する必要があります。カンマを区切り記号として使用し、桁区切り記号としてコンマを使用する数値を処理するにはどうすればよいですか?

+0

[C++ '区切り文字としてのスペースの使用]の可能な複製(https://stackoverflow.com/questions/18597850/c-using-space-as-a-delimiter) – strpeter

+0

あなたがしなければならないことは、スペースをカンマで置き換えてください! – strpeter

+0

@strpeter:あなたが提案した複製は、(a '、b'、 'c' ') 'に' 'a" bc "''を( ''' '、' bc ''] ' –

答えて

2

区切り文字としてシーケンス", "を使用できます。コンマの後にスペースを追加すると、数字の2番目の部分を除外します。

+0

ああ、私は参照してください。それを行うための別の方法がありますか? –

+0

@TentacleSlinger:十分な注意を払ってこの答えを読んだことがありますか? – Bathsheba

+0

私は質問を再発行しませんでした:/申し訳ありません –

0

デリミタとして "、"を使用して、数字を含む文字列をマージする2番目のパスを実行できます(例ごとにstd :: isdigitを使用)。

関連する問題