2017-07-31 4 views
0

最初に、この質問がどのように非特異的であるかについての謝罪をしています。これは初めてStackOverflowの質問をしています。CSVファイルからデータを取り込み、2つのカンマの間でINTにデータを解析するにはどうすればよいですか?

私はビジネスに着くでしょう、私はファイル(CSVを具体的に)を読み込んで、そこから特定のデータを後で混乱させるIntに保存するプロジェクトに取り組んでいます。

は基本的に、私のコードは以下のように現在ある:

  if (!infile) { 
      cout << "You entered something that cannot be opened, please try again." << endl; 
      Continue = true; 
     } 
     else { 
      while (infile.good()) { 
       getline(infile, value, ','); // read a string until next comma 
       cout << string(value, 1, value.length() - 2); // display value removing the first and the last character from it 
      } 
      Continue = false; 
     } 
    } 

これまでのところ、これは次のようになり、データ出力ライン読み:

2014-01-03,"2014","01","03","†","-12.8","","-31.0","","-21.9","","39.9","","0.0","","","M","","M","0.0","","","","","","<31","" 
2014-01-04,"2014","01","04","†","-2.3","","-12.8","","-7.6","","25.6","","0.0","","","M","","M","2.9","","40","","18","","39","" 
2014-01-05,"2014","01","05","†","-2.1","","-4.1","","-3.1","","21.1","","0.0","","","M","","M","16.2","","52","","8","","32","" 

を必要と私の情報は、第5の間にあり、 6番目のカンマ(それはその日の平均気温を表しています)、私は何とかそれらの2つのカンマの間に情報を何らかのintに入れる必要があります。

また、3日目と4日目の間にカンマがあります。これは後で毎月の平均気温を計算するために必要となるため、私もそれを把握する必要があります。

誰でもこれを行う正しい方法を知っていますか?残念ながら、私の文字列解析に関する知識は必要です。

+3

インターネットで" stackoverflow C++ read file comma separated "を検索しても同様の疑問がたくさんあります。 –

答えて

0

私が理解する限り、文字列から整数値を取得する方法を知りたいと思います。

次に、C++ 11が利用可能であれば、stoi関数(http://www.cplusplus.com/reference/string/stoi/http://en.cppreference.com/w/cpp/string/basic_string/stol)を使用する必要があります。そうでない場合は、何らかの理由でatoihttp://www.cplusplus.com/reference/cstdlib/atoi/)を使用してください。

次のスレッドが有用であることが表示されることがあります。 http://www.cplusplus.com/forum/general/13135/ https://www.quora.com/How-do-I-convert-a-string-into-an-integer-in-C++

PS。あなたの文字列に不要な文字が含まれていないことを確認してください(\ "ほどです)

関連する問題