提取字节C ++

时间:2011-11-02 00:18:06

标签: c++

我有

int chop (char* input, unsigned int length)
{
 for (int chopper = 0; chopper < = length; chopper++)
 {
   //how to pass 1byte this input to another function
   //Will this for loop help?
 }
}

如何从此输入中提取一个字节以供进一步处理? 谢谢

3 个答案:

答案 0 :(得分:2)

int chop (char* input, unsigned int length)
{
 for (int chopper = 0; chopper < = length; chopper++)
 {
   doSomething(input[chopper]);
 }
}

答案 1 :(得分:2)

有什么问题
 for (int chopper = 0; chopper < length; chopper++)
 {
   //how to pass 1byte this input to another function
   //Will this for loop help?
   unsigned char byte = input[chopper];
   /// do whatever with the byte, and then move on to the next one
 }

注意,chopper < = length可能不对,您很可能需要chopper < length

答案 2 :(得分:0)

您可以将指针视为只读数组,因此您可以像这样引用输入的单个字符:

input[chopper]

您还应该将循环的结束条件更改为

chopper < length

否则你的循环的最后一次迭代将引用超出输入大小的内存位置(从0开始)。