0

文字を unsigned short に変換しようとしていますが、m_cmdCode で取得している値は常に 0 です。いくつかの入力は非常に役立ちます。

int main()
{
 char *temp = new char[3];
 memset(temp,1,3);
 unsigned short m_cmdCode = (unsigned short) atoi(temp);
 printf("%d",m_cmdCode);
}

// m_cmdCode を 111 にしたいのですが、可能ですか?

4

2 に答える 2

7

の要素をtemp整数値に設定しています1。文字値が必要です'1'

memset(temp, '1', 3);

確実に動作させるには、NUL で終了tempする必要があることに注意してください。atoi

于 2013-07-02T15:52:26.483 に答える
0

それはあなたの memset から来ています。値 1 で 3 バイトを入れます。書き込みと同じではありません。

strcpy(temp, "111")

多分私はsrcとdestを逆にしました

于 2013-07-02T15:56:05.637 に答える