我想将缓冲区保存到1800个字符的数组段中。当我能够传输缓冲区,但当我尝试打印每个新的缓冲区。输出为空。我究竟做错了什么?多维数组和传输缓冲区
编辑 - 我改变了循环,以此为第二维添加空端子。现在输出告诉我它是空的。但printf("%c")
表示数据已传输。
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++;
}
它什么都没有返回。如果我检查数据后,像printf(“%c”,msg_buff [key_num] [cbuf_pos]);它显示数据在变量中。但我怎么得到它现在返回完整的字符串.. hmph – 2012-04-08 04:56:10
通过'没有返回',你的意思是你的程序绝对没有输出? – 2012-04-08 04:59:32
在阵列前面移动1800也没有任何好处,我可以通过数组的第二维的每个元素循环并获取字符,但是我无法将它们作为完整字符串返回。 – 2012-04-08 05:01:37