ねぇねぇ、お兄ちゃん、ちょっと教えて。下のコードなんだけどさぁ、

strcpy( item.pszText, name.c_str() );

の箇所で、ループ変数の j がいきなり 1 から 46 に変わっちゃうんだぁ。
でも、name を std::string から char[128] にして

item.pszText = name;

にすると、問題なくなったんだよ。どうしてなのか教えて!お兄ちゃん!!


for ( int j = 0; j < 3; j++ )
{
  item.iSubItem = j;
  char buf[5];

  switch ( j )
  {
  case 0:  // シーケンシャル番号
    item.pszText = itoa( no, buf, 10 );
    StubTable.InsertItem( &item );
    break;
  case 1:  // 品番
    strcpy( item.pszText, name.c_str() );
    StubTable.SetItem( &item );
    break;
  以下略
  }
}