charで宣言した変数をstringへの代入で
wchar_t cOrg[128]と宣言している変数にstringで宣言しているstrを
cOrg[i] = str[i];
このように代入することはできたのですが、
char cAns[ 128 ];
このように宣言した変数の値をstrの41番目と42番目に
次のように入れようとするとエラーが出ます。
str[41]=cAns[1];
str[42]=cAns[2];
(エラー内容)
\Form1.h(428): error C2664: 'System::String::String(wchar_t,int)' : 1 番目の引数を 'wchar_t [128]' から 'wchar_t' に変換できません。(新しい機能 ; ヘルプを参照)
このような代入はできないのでしょうか?
プログラムの詳細は下のようなものです。
wchar_t cOrg[128],*p;
String^ str;
String^ str2;
int i;
int iVal1,iVal2,iTotal = 0,iHosu;
char cAns[ 128 ];
str = this->textBox1->Text;
for(i=0;i<41;i++)
{
cOrg[i] = str[i];
}
-------(中略)------------------------------------------
iHosu = ~iTotal; // 1の補数
iHosu++; // +1
iHosu = iHosu & 0x00FF;
sprintf( cAns, "%s%02X%c", cOrg, iHosu, 0x22 );
str[41]=cAns[1];
str[42]=cAns[2];
補足
atoi関数を使ってint型配列からchar型配列に使用としたのですがうまく受け付けてくれません。つまり… int i; int dat[10]; char str[10]; for(i=0; i<10 ; i++){ dat[i] = atoi(str[i]); //文法エラーとなる }atoi関数でint文に変換しようと考えてみましたが、 char 以下でやると文法エラーにはなりませんが配列datすべてに配列str[0]の要素が代入されてしまいます。 for(i=0; i<10 ; i++){ dat[i] = atoi(str); } 本当は全て別の要素を入れたいのですが… こちらでも調査はしていますが助けてください。><