Arreglos multidimensionales y buffers de transferencia.

Estoy tratando de guardar un búfer en segmentos de matriz de 1800 caracteres. Cuando sea posible, puedo transferir el búfer, pero cuando intento imprimir cada búfer nuevo. Tengo nulo para la salida. ¿Qué es exactamente lo que estoy haciendo mal?

EDITAR - Cambié el bucle a esto para agregar terminaciones nulas al final de la segunda dimensión. Ahora la salida me dice que es nula. Peroprintf("%c") Dice que los datos han sido transferidos.

<code>while(buf_pos < msg_size+1){
    if(buf_pos % 1800 == 0){
        msg_buff[key_num][cbuf_pos]='\0';
        key_num++;
        cbuf_pos=0;
        msg_buff[key_num][cbuf_pos]=buf[buf_pos];
    }else
        msg_buff[key_num][cbuf_pos]=buf[buf_pos];

    printf("%c",msg_buff[key_num][cbuf_pos]);
    cbuf_pos++;
    buf_pos++;
}
</code>

Respuestas a la pregunta(2)

Su respuesta a la pregunta