のねのBlog

パソコンの問題や、ソフトウェアの開発で起きた問題など書いていきます。よろしくお願いします^^。

C++でのデータ駆動型テストのデータ読み込みについて

C++でデータ駆動型のテストを作ろうとしたとき、
データベース(csv)からデータを読み込む方法がよくわかりませんでした。

http://social.msdn.microsoft.com/Forums/en/vstsprofiler/thread/ae92b6ff-4bc1-4b08-a552-9687ece4d6c9
には
int aaa =(int)testContextInstance->DataRow[0];
と記載されていました。
これを利用して、unsigned charで動かそうとしたとき、
うまく動きませんでした。(途中で例外が出て最初から始まる。)

Microsoft C++ の例外: EEException (メモリの場所 0x070cf0f8)

型によって違うようなので、調べてみました。

CSVで以下のようなデータをつくりプログラムから読むとき、読み込めたら○としています。その結果intとlongのみ動くということがわかりました。

N,Height,Width
1,10,20
2,20,30,

× unsigned char n = (unsigned char )testContextInstance->DataRow["N"];
× unsigned short n = (unsigned short)testContextInstance->DataRow["N"];
× unsigned int n = (unsigned int )testContextInstance->DataRow["N"];
× unsigned long n = (unsigned long )testContextInstance->DataRow["N"];
× char n = (char )testContextInstance->DataRow["N"];
× short n = (short)testContextInstance->DataRow["N"];
int n = (int )testContextInstance->DataRow["N"];
long n = (long )testContextInstance->DataRow["N"];

以上