2011-12-22 5 views
0

これまでに質問されているが、離れた場所にある文字の配列を解析しようとしているとお詫び申し上げます。ファイル名を取得できます。各ファイル名の間の3つのスペースがあることをここ文字配列からのファイル名の解析

が私はコピー終わる文字配列の一例である。

picture1.bmp file2.txt random.wtf dance.png 

注意。私たちは宇宙に到達するまで、我々は、最初の文字で前進を開始すると仮定すると、

  1. は私がの種類に沿って何かをしたいです。

  2. インデックス0の配列に、その領域まですべてをコピーします。
  3. 3つのスペースをスキップするために、2つのスペースをスキップします。
  4. Goが、我々はスペースをヒットして、より高度なプログラマのいくつかは、私はこれを行うだろうかに関して、配列のインデックスに1

私は、ちょうど好奇心このハック仕事をすることができることをコピーするまで、ここで学ぶ。

+0

タイトルに ' - C++ 'と書く必要はありません。すでにタグがあります! –

答えて

3
std::istringstream iss(the_array); 
std::string f1, f2, f3, f4; 
iss >> f1 >> f2 >> f3 >> f4; 
+0

あなたはもっと多分説明できますか?ファイル名の間に3つのスペースを入れることをどのように知っていますか? –

+0

@PladniusBrooksすべてのスペース(タブ、改行などを含むすべての空白)をスキップします。それは1または1000です。 –

+0

@Pladinus:文字列の 'istream :: operator >>'のデフォルト動作は、空白で区切られたデータを読み込むことです。空白になると、読み込みが停止します。次の呼び出しで、次の空白文字以外の文字にスキップします。あなたはそこに100万のスペース、タブ、改行を持つことができます。彼らはすべてスキップされます。 –