|
ARX中使用与C中printf函数类似的acedPrintf函数,向ACAD文本窗口输出数据,这种数据输出方式无法在编译时检测到数据的正确性,也无法扩展数据结构输出包括ARX定义的数据结构。格式化输出就是使用类似于C++标准中的方式:
Cout list();
return s;
}
输出AcDbEntity对象时,自动调用对象的list方法.
3)控制输出
ARX有是需要根据内部的系统变量来控制数据的输出格式,典型的是函数:
int acdbRToS(ads_real val,int unit,int prec,char * str);
unit为实数的输出格式,由系统变量LUNITS决定.prec为数据的输出精度,由LUPREC系统变量决定.可以定义对象:
class rtos{
private:
//…..
public:
rtos(double r);
char* str() const;
};
构造对象时调用acdbRtoS将r转换为对应的字符串,调用str获得.
ostream& operator << (ostream& s, const rtos& x)
{
return s<< x.str();
}
这样就可以简单的使用当前的系统变量来输出数据了:
os << rtos(100.0) << endl; |
|