作ったのはファイル読み込みクラス。
CSVファイルなどのファイルを読み込んだ後、解析して構造体などにセットするクラスです。
こんなかんじの仕様しました。
・Separater::BaseSeparaterクラスを継承する。
・継承したクラスはSetData(Iterater)関数をオーバーライドする。
・SetData(Iterator)関数はIteraterクラスのメンバ関数Get(unsigned int,std::string)を使ってデータをセットする関数。
・Getメンバ関数は第一引数がそのデーターが何番目に書かれているかを、第二因数は読み込みに失敗したときのダミーの値を入れる。
・Readメンバ関数で解析開始。
・SetReadDataメンバ関数で、解析するデータをセット。
・Separateメンバ変数にデータとデータの間の文字列をセット。
で、作ってみた後なんですが・・・
見たことないエラーが二回も・・・
一回目は「_ITERATOR_DEBUG_LEVEL' の不一致が検出されました。」
どうやらDebugビルドしたものをReleaseビルドしようとしたりするとでるエラーの様です。
#ifndef SEPARATER_2013_9_16
#define SEPARATER_2013_9_16
#ifdef _DEBUG
#pragma comment(lib,"C:/Users/takahashi/Documents/Visual Studio 2012/Projects/Lib/Separater/DebugSeparater.lib")
#else
#pragma comment(lib,"ReleaseSeparater.lib")
#endif
#include "LibSeparater.h"
#else
#endif
次は「defaultlib 'MSVCRTD' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。」
こんどはランタイムライブラリの設定が違った場合に出るエラーの様です。
DXライブラリにあわせて、MT、MTdビルドして解決しました。
せっかく作ったのでどんどん利用したいと思います。