私はバッファを持っているので、誰かがIntをchar配列に変換するのを手伝ってもらえますか?
char *buffer = NULL;
int lengthOfComponent = -1;
char *obj;
buffer[index]= (char *)&lengthOfComponent;
これを行うと、実行後にEXCESS BAD ACCESSがスローされ、memcpyを使用してobjの値をバッファに保存する方法がわかります。
私はバッファを持っているので、誰かがIntをchar配列に変換するのを手伝ってもらえますか?
char *buffer = NULL;
int lengthOfComponent = -1;
char *obj;
buffer[index]= (char *)&lengthOfComponent;
これを行うと、実行後にEXCESS BAD ACCESSがスローされ、memcpyを使用してobjの値をバッファに保存する方法がわかります。
もちろん、バッファ[インデックス]に書き込むことはできません。割り当てられていません!
buffer = malloc(sizeof(char) * lengthOfBuffer);
するべきです。その後、あなたがやっているように、memcpy または割り当てを使用してバッファを書き込むことができます。
buffer[index] = (char *)&lengthOfComponent;
buffer[index]
ポインタを間接参照するようなものです。しかしbuffer
、有効な場所を指していません。したがって、ランタイムエラー。
Cソリューションはsnprintfを使用しています。試す -
int i = 11;
char buffer[10];
snprintf(buffer, sizeof(buffer), "%d", i);