本文整理汇总了C++中IReader::readInt方法的典型用法代码示例。如果您正苦于以下问题:C++ IReader::readInt方法的具体用法?C++ IReader::readInt怎么用?C++ IReader::readInt使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IReader
的用法示例。
在下文中一共展示了IReader::readInt方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: opaque
// FIXME, no handling of arrays yet
bool DefaultExtensionHandler::opaque(unsigned int len, IReader& reader,
unsigned int tagID, int attributeID, MutableAttributes& atts,
vector<wstring>& value) {
// read type
unsigned char type;
if (!reader.readByte(type))
return false;
if (debug) cout << " : Type: "<< atts.getTypeName((IAttributes::Types)type);
len--;
switch (type) {
case IAttributes::BOOLEAN:
if (len == 1) {
bool b;
if (!reader.readBoolean(b))
return false;
atts.set(attributeID, b);
len--;
} else {
// boolean[] array = new boolean[len];
// for (int i=0; i<array.length; i++) {
// array[i] = in.readByte() != 0;
// len--;
// }
// atts.set(attributeID, array);
}
break;
case IAttributes::BYTE:
if (len == 1) {
unsigned char b;
if (!reader.readByte(b))
return false;
atts.set(attributeID, b);
len--;
} else {
// byte[] array = new byte[len];
// for (int i=0; i<array.length; i++) {
// array[i] = in.readByte();
// len--;
// }
// atts.set(attributeID, array);
}
break;
case IAttributes::CHAR:
if (len == 2) {
wchar_t c;
if (!reader.readChar(c))
return false;
atts.set(attributeID, c);
len-=2;
} else {
// char[] array = new char[len/2];
// for (int i=0; i<array.length; i++) {
// array[i] = in.readChar();
// len-=2;
// }
// atts.set(attributeID, array);
}
break;
case IAttributes::DOUBLE:
if (len == 8) {
double d;
if (!reader.readDouble(d))
return false;
atts.set(attributeID, d);
len -= 8;
} else {
// double[] array = new double[len/8];
// for (int i=0; i<array.length; i++) {
// array[i] = in.readDouble();
// len-=8;
// }
// atts.set(attributeID, array);
}
break;
case IAttributes::FLOAT:
if (len == 4) {
float f;
if (!reader.readFloat(f))
return false;
atts.set(attributeID, f);
len -= 4;
} else {
// float[] array = new float[len/4];
// for (int i=0; i<array.length; i++) {
// array[i] = in.readFloat();
// len-=4;
// }
// atts.set(attributeID, array);
}
break;
case IAttributes::INT:
if (len == 4) {
int i;
if (!reader.readInt(i))
return false;
atts.set(attributeID, i);
len -= 4;
} else {
//.........这里部分代码省略.........