• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ print_object函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中print_object函数的典型用法代码示例。如果您正苦于以下问题:C++ print_object函数的具体用法?C++ print_object怎么用?C++ print_object使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了print_object函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: print_data

int print_data( pwr_sAttrRef *arp, FILE *fp)
{
  int		sts;
  char		*s;
  pwr_tClassId	classid;
  char		*object_p;
  pwr_tAName   	dataname;
  pwr_tAName   	objectname;
  pwr_tAName   	attributename;
  pwr_tAttrRef	aref;
  int 		object_backup;
  int		array_element = 0;
  int		index;
  int		nr;

  sts = gdh_AttrrefToName( arp, dataname, sizeof(dataname), cdh_mNName);
  if ( EVEN(sts)) return sts;

  strcpy( objectname, dataname);
  if ( !arp->Flags.b.ObjectAttr && (s = strchr( objectname, '.'))) {
    *s = 0;
    object_backup = 0;
    strcpy( attributename, dataname);
    if ( (s = strchr( dataname, '['))) {
      array_element = 1;

      nr = sscanf( s+1, "%d", &index);
      if ( nr != 1) return 0;
    }
  }
  else {
    object_backup = 1;
  }

  sts = gdh_NameToAttrref( pwr_cNOid, objectname, &aref);
  if ( EVEN(sts)) return sts;

  sts = gdh_AttrRefToPointer( &aref, (void **)&object_p);
  if ( EVEN(sts)) return sts;

  sts = gdh_GetAttrRefTid( &aref, &classid);
  if ( EVEN(sts)) return sts;

  if ( object_backup) {
    print_object( &aref, classid, object_p, 0, objectname, fp);
  }
  else {
    print_attribute( &aref, classid, object_p, attributename, array_element, index, fp);
  }
  return 1;
}
开发者ID:ManfredHerrmann,项目名称:proview,代码行数:51,代码来源:rt_bck_print.c


示例2: meta_print_eopt

static int meta_print_eopt(FILE *fd, struct tcf_ematch_hdr *hdr, void *data,
			   int data_len)
{
	struct rtattr *tb[TCA_EM_META_MAX+1];
	struct tcf_meta_hdr *meta_hdr;

	if (parse_rtattr(tb, TCA_EM_META_MAX, data, data_len) < 0)
		return -1;

	if (tb[TCA_EM_META_HDR] == NULL) {
		fprintf(stderr, "Missing meta header\n");
		return -1;
	}

	if (RTA_PAYLOAD(tb[TCA_EM_META_HDR]) < sizeof(*meta_hdr)) {
		fprintf(stderr, "Meta header size mismatch\n");
		return -1;
	}

	meta_hdr = RTA_DATA(tb[TCA_EM_META_HDR]);

	if (print_object(fd, &meta_hdr->left, tb[TCA_EM_META_LVALUE]) < 0)
		return -1;

	switch (meta_hdr->left.op) {
		case TCF_EM_OPND_EQ:
			fprintf(fd, " eq ");
			break;
		case TCF_EM_OPND_LT:
			fprintf(fd, " lt ");
			break;
		case TCF_EM_OPND_GT:
			fprintf(fd, " gt ");
			break;
	}

	return print_object(fd, &meta_hdr->right, tb[TCA_EM_META_RVALUE]);
}
开发者ID:Aceofzeroz,项目名称:android_kernel_asus_ze55xml,代码行数:38,代码来源:em_meta.c


示例3: main

int main(int argc, char **argv) {

  while(1) {
    object_t exp = read_stream(stdin);
    printf("--\n");
    print_object(exp);
    if(iscons(exp) && isproperlist(exp))
      printf(" proper list");
    else
      printf(" symbol or improper list");
    printf("\n");
  }

}
开发者ID:spacemanaki,项目名称:lisp-in-c,代码行数:14,代码来源:reader-test.c


示例4: print_object

void print_object(object *obj)
{
    int first = 1;
    if (!obj)
        return;
    switch (TYPE(obj)) {
        case OBJ_SYMBOL:
            printf("%s", STR(obj));
            break;
        case OBJ_NUMBER:
            printf("%d", NUM(obj));
            break;
        case OBJ_BOOLEAN:
            printf("%s", (NUM(obj) ? "#t" : "#f"));
            break;
        case OBJ_PAIR:
            printf("(");
            while (TYPE(obj) == OBJ_PAIR &&
                   obj != null_object) {
                if (!first)
                    putchar(' ');
                print_object(CAR(obj));
                obj = CDR(obj);
                first = 0;
            }
            if (obj != null_object) {
                printf(" . ");
                print_object(obj);
            }
            printf(")");
            break;
        case OBJ_PRIMITIVE_PROCEDURE:
        case OBJ_COMPOUND_PROCEDURE:
            printf("#<procedure>");
            break;
    }
}
开发者ID:medici,项目名称:Scheme-1,代码行数:37,代码来源:object.c


示例5: print_schema

void print_schema(reflection_Schema_table_t S)
{
    reflection_Object_vec_t Objs;
    reflection_Enum_vec_t Enums;
    size_t i;

    Objs = reflection_Schema_objects(S);
    printf("{");
    printf("\"objects\":[");
    for (i = 0; i < reflection_Object_vec_len(Objs); ++i) {
        if (i > 0) {
            printf(",");
        }
        print_object(reflection_Object_vec_at(Objs, i));
    }
    printf("]");
    Enums = reflection_Schema_enums(S);
    printf(",\"enums\":[");
    for (i = 0; i < reflection_Enum_vec_len(Enums); ++i) {
        if (i > 0) {
            printf(",");
        }
        print_enum(reflection_Enum_vec_at(Enums, i));
    }
    printf("]");
    if (reflection_Schema_file_ident_is_present(S)) {
        printf(",\"file_ident\":\"%s\"", reflection_Schema_file_ident(S));
    }
    if (reflection_Schema_file_ext_is_present(S)) {
        printf(",\"file_ext\":\"%s\"", reflection_Schema_file_ext(S));
    }
    if (reflection_Schema_root_table_is_present(S)) {
        printf(",\"root_table\":");
        print_object(reflection_Schema_root_table(S));
    }
    printf("}\n");
}
开发者ID:Tao-Ma,项目名称:flatcc,代码行数:37,代码来源:bfbs2json.c


示例6: new_index

void new_index(char *hash) {
    char *indexpath = get_repo_troll_dir();
    indexpath = (char *) realloc(indexpath, strlen(indexpath) + 5);
    strcat(indexpath, "index");
    printf("New index at %s\n",indexpath);

    int index = open(indexpath, O_WRONLY | O_TRUNC, 0644);
    free(indexpath);
    lseek(index, 0, SEEK_SET);
    int sout = dup(STDOUT_FILENO);
    dup2(index,STDOUT_FILENO);

    print_object(hash);
    dup2(sout,STDOUT_FILENO);
}
开发者ID:kevinwang,项目名称:troll,代码行数:15,代码来源:checkout.c


示例7: main

int main(int argc, char **argv) {
  while(1) {
    printf("> ");
    struct node *lines = read_sexp(stdin);
    object_t sexp = parse_sexp(lines);
    
    if(*(char*)lines->data == 'q') {
      auxfor_each(lines, &free_node_and_string);
      return 0;
    }
    print_object(sexp);
    printf("\n");

    auxfor_each(lines, &free_node_and_string);
  }
}
开发者ID:spacemanaki,项目名称:lisp-in-c,代码行数:16,代码来源:read_test.c


示例8: switch

// Render a value to text.
char *print_value(JSON *item,int depth,int fmt)
{
	char *out=0;
	if (!item) return 0;
	switch ((item->type)&255)
	{
	case JSON_NULL:	out = tr50_json_strdup("null");	break;
	case JSON_FALSE:	out = tr50_json_strdup("false"); break;
	case JSON_TRUE:	out = tr50_json_strdup("true"); break;
	case JSON_NUMBER:	out=print_number(item);break;
	case JSON_STRING:	out=print_string(item);break;
	case JSON_ARRAY:	out=print_array(item,depth,fmt);break;
	case JSON_OBJECT:	out=print_object(item,depth,fmt);break;
	}
	return out;
}
开发者ID:inhedron,项目名称:libtr50,代码行数:17,代码来源:tr50.json.c


示例9: switch

/* Render a value to text. */
static char *print_value(cJSON *item,int depth,int fmt)
{
	char *out=0;
	if (!item) return 0;
	switch ((item->type)&255)
	{
		case cJSON_NULL:	out=cJSON_strdup("null");	break;
		case cJSON_False:	out=cJSON_strdup("false");break;
		case cJSON_True:	out=cJSON_strdup("true"); break;
		case cJSON_Number:	out=print_number(item);break;
		case cJSON_String:	out=print_string(item);break;
		case cJSON_Array:	out=print_array(item,depth,fmt);break;
		case cJSON_Object:	out=print_object(item,depth,fmt);break;
	}
	return out;
}
开发者ID:alterto,项目名称:watersystem,代码行数:17,代码来源:cJSON.c


示例10: print_object

void print_object(FILE *fp, UnionType o)
{
	if (!fp) fp = stdout;
	//fprintf(stderr, "type = [%d]\n", TYPE(o));
	switch (TYPE(o.o)) {
	case Int:
		fprintf(fp, "%d", (int)to_Int(o.o));
		break;
	case Double:
		fprintf(fp, "%f", o.d);
		break;
	case String:
		fprintf(fp, "%s", (to_String(o.o))->s);
		break;
	case Array:
		if (fp != stdout) {
			_print_with_handler(fp, to_Array(o.o));
		} else {
			print(to_Array(o.o));
		}
		break;
	case ArrayRef:
		fprintf(fp, "ARRAY(%p)", to_Ptr(o.o));
		break;
	case Hash:
		print_hash(fp, to_Hash(o.o));
		break;
	case HashRef:
		fprintf(fp, "HASH(%p)", to_Ptr(o.o));
		break;
	case CodeRef:
		fprintf(fp, "CODE(%p)", to_Ptr(o.o));
		break;
	case ObjectType: {
		Object *object = to_Object(o.o);
		print_object(fp, object->v);
		break;
	}
	case BlessedObjectType:
		fprintf(fp, "%s=HASH(%p)", (to_BlessedObject(o.o))->pkg_name, to_Ptr(o.o));
		break;
	default:
		break;
	}
}
开发者ID:PeterMartini,项目名称:p5-Compiler-CodeGenerator-LLVM,代码行数:45,代码来源:runtime_api_32.c


示例11: switch

/* Render a value to text. */
static char *print_value(cJSON *item,int depth,int fmt, ngx_pool_t *pool)
{
	char *out=0;
	if (!item) return 0;
	switch ((item->type)&255)
	{
        case cJSON_NULL:	out=cJSON_strdup("null", pool);	break;
        case cJSON_False:	out=cJSON_strdup("false", pool);break;
        case cJSON_True:	out=cJSON_strdup("true", pool); break;
        case cJSON_Number:	out=print_number(item, pool);break;
        case cJSON_VerFloat:    out=print_verfloat(item, pool);break;
        case cJSON_String:	out=print_string(item, pool);break;
        case cJSON_Array:	out=print_array(item,depth,fmt, pool);break;
        case cJSON_Object:	out=print_object(item,depth,fmt, pool);break;
        case cJSON_2dFloatArray: out=print_2dfloat_array(item, fmt, pool);break;
	}
	return out;
}
开发者ID:1nfused,项目名称:RedPitaya,代码行数:19,代码来源:cJSON.c


示例12: while

void hoard::print_object(size_t n) {
	char buffer[32];

	size_t divisor = 1;

	while (divisor <= (n / 10))
		divisor *= 10;

	char *p = buffer;
	do {
		*p++ = (char) (((n / divisor) % 10) + '0');
		divisor /= 10;
	}
	while (divisor != 0);

	*p = '\0';

	print_object(buffer);
}
开发者ID:ndkoval,项目名称:HoardAllocator,代码行数:19,代码来源:tracing.cpp


示例13: switch

/// Internal: Render a value to text.
static char *print_value(JSON *item, int depth, bool fmt)
{
    char *out = 0;
    if(!item) return 0;
    if(item->original) { //imported item
        item = item->original;
    }
    switch (item->type)
    {
        case JSON_NULL:     out = newstring("null");    break;
        case JSON_FALSE:    out = newstring("false");   break;
        case JSON_TRUE:     out = newstring("true");    break;
        case JSON_NUMBER:   out = print_number(item);   break;
        case JSON_STRING:   out = print_string(item);   break;
        case JSON_ARRAY:    out = print_array( item, depth, fmt);break;
        case JSON_OBJECT:   out = print_object(item, depth, fmt);break;
    }
    return out;
}
开发者ID:PowerKiller,项目名称:code,代码行数:20,代码来源:json.cpp


示例14: walk_tree

static int walk_tree(const unsigned char *sha1, const char *base, int baselen,
		     const char *pathname, unsigned mode, int stage,
		     void *cbdata)
{
	if (baselen == match_baselen) {
		if (S_ISREG(mode))
			print_object(sha1, pathname);
		else if (S_ISDIR(mode)) {
			print_dir(sha1, pathname, base);
			return READ_TREE_RECURSIVE;
		}
	}
	else if (baselen > match_baselen)
		print_dir_entry(sha1, pathname, mode);
	else if (S_ISDIR(mode))
		return READ_TREE_RECURSIVE;

	return 0;
}
开发者ID:MarkLodato,项目名称:cgit,代码行数:19,代码来源:ui-plain.c


示例15: print_object

void print_object(object_t root) {
    switch (root.tag) {
        case OBJECT_FIXNUM_TAG:
            printf("%d", fixnum_unbox(root));
            break;
        case OBJECT_WORD_TAG:
            printf("%s", string_unbox(word_name(root)));
            break;
        case OBJECT_LIST_TAG:
            printf("[ ");
            while (!object_eq(root, list_nil)) {
                print_object(list_head(root));
                printf(" ");
                root = list_tail(root);
            }
            printf("]");
            break;
        case OBJECT_STRING_TAG:
            printf("\"%s\"", string_unbox(root));
            break;
        case OBJECT_PRIMITIVE_TAG:
            printf("0x%p", (void *)primitive_unbox(root));
            break;
        case OBJECT_BOOLEAN_TAG:
            if (object_eq(root, boolean_t))
                printf("t");
            else
                printf("f");
            break;
        case OBJECT_WRAPPER_TAG:
            printf("\\ %s", string_unbox(word_name(wrapper_unbox(root))));
            break;
        case OBJECT_CONTINUATION_TAG:
            printf("0x%p", continuation_unbox(root));
            break;
        case OBJECT_BLOCK_TAG:
            printf("0x%p", block_unbox(root));
            break;
        default:
            fail();
    }
}
开发者ID:ebb,项目名称:pufn,代码行数:42,代码来源:print.c


示例16: heap_what_points_to_in

word_t heap_what_points_to_in(struct object_heap* oh, struct Object* x, byte_t* memory, word_t memorySize, bool_t print) {
  struct Object* obj = (struct Object*) memory;
  word_t count = 0;
  while (object_in_memory(oh, obj, memory, memorySize)) {
    word_t offset, limit;
    offset = object_first_slot_offset(obj);
    limit = object_last_oop_offset(obj) + sizeof(word_t);
    for (; offset != limit; offset += sizeof(word_t)) {
      struct Object* val = object_slot_value_at_offset(obj, offset);
      if (val == x) {
        if (!object_is_free(obj)) count++;
        if (print && !object_is_free(obj)) {
          fprintf(stderr, "pointed to by "); print_object(obj);
        }
        break;
      }
    }
    obj = object_after(oh, obj);
  }
  return count;
}
开发者ID:briantrice,项目名称:slate-language,代码行数:21,代码来源:debug.cpp


示例17: switch

/* Render a value to text. */
static char *print_value(struct json *item, int depth, int fmt)
{
	char *out = NULL;
	if (!item)
		return 0;

	if (fmt == item->print_fmt && item->print_out)
		return item->print_out;

	switch ((item->type) & 255) {
	case JSON_T_NULL:
		out = json_strdup("null");
		break;
	case JSON_T_FALSE:
		out = json_strdup("false");
		break;
	case JSON_T_TRUE:
		out = json_strdup("true");
		break;
	case JSON_T_NUMBER:
		out = print_number(item);
		break;
	case JSON_T_STRING:
		out = print_string(item);
		break;
	case JSON_T_ARRAY:
		out = print_array(item, depth, fmt);
		break;
	case JSON_T_OBJECT:
		out = print_object(item, depth, fmt);
		break;
	}

	if (item->print_out)
		json_free(item->print_out);

	item->print_out = out;
	item->print_fmt = fmt;
	return out;
}
开发者ID:yubo,项目名称:libubox,代码行数:41,代码来源:json.c


示例18: copy_out

void copy_out() {
    char *indexpath = get_repo_troll_dir();
    indexpath = (char *) realloc(indexpath, strlen(indexpath) + 5);
    strcat(indexpath, "index");

    FILE *findex = fopen(indexpath, "r");
    free(indexpath);
    fseek(findex, 0, SEEK_SET);
    
    char hash[41];
    
    int newfile;
    char *trollpath = get_repo_troll_dir();
    char *repo_path = (char *) malloc(strlen(trollpath) - 7);
    strncat(repo_path,trollpath,strlen(trollpath) - 7);

    free(trollpath);
    char *newpath;
    char name[256];
    int sout;
    char *lastchar;
    sout = dup(STDOUT_FILENO);
    while(fgets(hash, 41, findex)) {
      fseek(findex,1,SEEK_CUR);
      fgets(name, 256, findex);

      newpath = (char *) malloc(strlen(repo_path) + strlen(name));
      strcat(newpath, repo_path);
      strcat(newpath, name);
      lastchar = strstr(newpath,"\n");
      *lastchar = '\0';

      newfile = open(newpath, O_WRONLY | O_TRUNC, 0644);
      printf("%s\n",newpath);
      dup2(newfile,STDOUT_FILENO);
      print_object(hash);
      dup2(sout,STDOUT_FILENO);
      close(newfile);
    }
}
开发者ID:kevinwang,项目名称:troll,代码行数:40,代码来源:checkout.c


示例19: sizeof

void hoard::print_object(void *px) {
	static char const *hexdigits = "0123456789abcdef";

	static char buffer[32];

	size_t n = (size_t) px;

	char *p = buffer;
	*p++ = '0';
	*p++ = 'x';
	int shift = sizeof(void *) * 8;

	do {
		shift -= 4;
		*p++ = hexdigits[(n >> shift) & 15];

	}
	while (shift != 0);

	*p = '\0';
	print_object(buffer);
}
开发者ID:ndkoval,项目名称:HoardAllocator,代码行数:22,代码来源:tracing.cpp


示例20: see_lists

int		see_lists(t_all *all)
{
  t_object	*objects;
  t_spot	*spots;

  objects = all->objects;
  spots = all->spots;
  if (print_global(all) < 0 || printf("\nObjects:\n\n") < 0 ||
      print_object(objects) < 0 || printf("\nSpots:\n\n") < 0)
    return (-1);
  while (spots != NULL)
    {
      if (printf("Spots pos : x = %f, y = %f, z = %f\n",
		 spots->pos.x, spots->pos.y, spots->pos.z) < 0 ||
	  printf("Spots color : r = %f, g = %f, b = %f\n",
		 spots->color.r, spots->color.g, spots->color.b) < 0 ||
	  printf("Orientation = %f\nIntensity = %f\nRadius = %f\n\n",
		 spots->orientation, spots->intensity, spots->radius) < 0)
	return (-1);
      spots = spots->next;
    }
  return ((printf("\n") < 0) ? -1 : 0);
}
开发者ID:athomaj,项目名称:rtracer,代码行数:23,代码来源:print_things.c



注:本文中的print_object函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ print_on函数代码示例发布时间:2022-05-30
下一篇:
C++ print_number函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap