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

C++ read_integer函数代码示例

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

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



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

示例1: main

int main() {
    // Read in the number of cases
    FILE *fp = fopen("bigint.in", "r");
    FILE *fo = fopen("bigint.out", "w");
    int numCases, i;
    
    fscanf(fp, "%d", &numCases);
    
    int operation;
    char operand1[200], operand2[200];
    
    for (i = 0; i < numCases; i++) {                
        fscanf(fp, "%d %s %s", &operation, operand1, operand2);

        // Create the big integer structures
        struct integer *bigInt1 = read_integer(operand1);
        struct integer *bigInt2 = read_integer(operand2);                      
		
        // Add or subtract the big integers
        struct integer *result;
        if (operation == 1) {
			// Print each big integer operand and the operation to the file
			print(fo, bigInt1);
			operation == 1 ? fprintf(fo, " + ") : fprintf(fo, " - ");          
			print(fo, bigInt2); 
			fprintf(fo, " = ");
		
            result = add(bigInt1, bigInt2);
        }
        else {
			// We want to subtract bigger - smaller
			int comparison = compare(bigInt1, bigInt2);
			struct integer *bigger  = comparison >= 0 ? bigInt1 : bigInt2;
			struct integer *smaller = comparison >= 0 ? bigInt2 : bigInt1;
		
			// Print each big integer operand and the operation to the file
			print(fo, bigger);
			operation == 1 ? fprintf(fo, " + ") : fprintf(fo, " - ");          
			print(fo, smaller); 
			fprintf(fo, " = ");
		
            result = subtract(bigger, smaller);
        }
        // Print the result
		print(fo, result);
		
        fprintf(fo, "\n");
		
		// Free the digits and then the structure
		free(bigInt1->digits);
		free(bigInt1);
		free(bigInt2->digits);
		free(bigInt2);
		free(result->digits);
		free(result);
    }
	
	fclose(fp);
	fclose(fo);
}
开发者ID:vilhelmgray,项目名称:COP3502H,代码行数:60,代码来源:bigint.c


示例2: read_rgb

//write the rgb value in gdkcolor
unsigned char read_rgb(GdkColor *pGdkColor, FILE * file)
{
    int iColor;
    if ( !read_integer(&iColor, file) )
    {
        SB_INKERRPRINTF("failed\n");
        return 0;
    }
    pGdkColor->red=(guint16)iColor;
    if ( !read_integer(&iColor, file) )
    {
        SB_INKERRPRINTF("failed\n");
        return 0;
    }
    pGdkColor->green=(guint16)iColor;
    if ( !read_integer(&iColor, file) )
    {
        SB_INKERRPRINTF("failed\n");
        return 0;
    }
    pGdkColor->blue=(guint16)iColor;
    SB_INKPRINTF("rgb(%d,%d,%d) \n", 
                    pGdkColor->red, pGdkColor->green,pGdkColor->blue);
    return 1;
}
开发者ID:vastin,项目名称:iliad-hacking,代码行数:26,代码来源:ink_rw_file.c


示例3: read_polygon_xyz

 void read_polygon_xyz(boost::ptr_vector<geometry_type> & paths)
 {
     int num_rings = read_integer();
     if (num_rings > 0)
     {
         std::unique_ptr<geometry_type> poly(new geometry_type(geometry_type::types::Polygon));
         for (int i = 0; i < num_rings; ++i)
         {
             int num_points = read_integer();
             if (num_points > 0)
             {
                 CoordinateArray ar(num_points);
                 read_coords_xyz(ar);
                 poly->move_to(ar[0].x, ar[0].y);
                 for (int j = 1; j < num_points; ++j)
                 {
                     poly->line_to(ar[j].x, ar[j].y);
                 }
                 poly->close_path();
             }
         }
         if (poly->size() > 2) // ignore if polygon has less than 3 vertices
             paths.push_back(poly.release());
     }
 }
开发者ID:GISpecialist,项目名称:mapnik,代码行数:25,代码来源:wkb.cpp


示例4: log_error

bool G_SoldierMakeMgr::init() {
    auto tab_info = the_app->script()->read_table("the_soldier_make_info");
    if (tab_info->is_nil()) {
        return false;
    }
    G_SoldierMakeInfo *info = nullptr;
    for (unsigned i = 1; ; ++i) {
        auto tab_item = tab_info->read_table(i);
        if (tab_item->is_nil()) {
            break;
        }

        int item_id = tab_item->read_integer("itemid", -1);
        if (item_id < 0) {
            if (!info) {
                continue;
            }
        }
        else {
            const G_ItemInfo *item_info = G_ItemMgr::instance()->get_info(item_id);
            if (!item_info) {
                log_error("unknown item id '%d'.", item_id);
                return false;
            }
            info = probe_info(item_id);
            if (info->_use_item) {
                log_error("dup item id '%d'.", item_id);
                return false;
            }
            info->_use_item = item_info;
            info->_use_count = tab_item->read_integer("itemnumber", 0);
            if (!info->_use_count) {
                log_error("bad use item count.");
                return false;
            }
        }

        int soldier_id = tab_item->read_integer("heroid", -1);
        if (soldier_id < 0) {
            continue;
        }

        const G_SoldierInfo *soldier_info = G_SoldierMgr::instance()->get_info(soldier_id);
        if (!soldier_info) {
            log_error("unknown soldier id '%d'.", soldier_id);
            return false;
        }

        info->_soldiers.push_back(soldier_info);
    }
    return true;
}
开发者ID:hanguangming,项目名称:Blitz,代码行数:52,代码来源:soldier.cpp


示例5: lock

void 
GBitmap::init(ByteStream &ref, int aborder)
{
  GMonitorLock lock(monitor());
  // Get magic number
  char magic[2];
  magic[0] = magic[1] = 0;
  ref.readall((void*)magic, sizeof(magic));
  char lookahead = '\n';
  int acolumns = read_integer(lookahead, ref);
  int arows = read_integer(lookahead, ref);
  init(arows, acolumns, aborder);
  // go reading file
  if (magic[0]=='P')
    {
      switch(magic[1])
        {
        case '1':
          grays = 2;
          read_pbm_text(ref); 
          return;
        case '2':
          grays = 1 + read_integer(lookahead, ref);
          if (grays > 256)
            G_THROW("Cannot read PGM with depth greater than 8 bits.");
          read_pgm_text(ref); 
          return;
        case '4':
          grays = 2;
          read_pbm_raw(ref); 
          return;
        case '5':
          grays = 1 + read_integer(lookahead, ref);
          if (grays > 256)
            grays = 256;
          read_pgm_raw(ref); 
          return;
        }
    }
  else if (magic[0]=='R')
    {
      switch(magic[1])
        {
        case '4':
          grays = 2;
          read_rle_raw(ref); 
          return;
        }
    }
  G_THROW( ERR_MSG("GBitmap.bad_format") );
}
开发者ID:serghei,项目名称:kde3-kdegraphics,代码行数:51,代码来源:GBitmap.cpp


示例6: assert

void Book::read_entry(BookEntry& entry, int n) const {
  assert(n >= 0 && n < bookSize);
  assert(bookFile != NULL);

  if(fseek(bookFile, n*16, SEEK_SET) == -1) {
    std::cerr << "Failed to read book entry at index " << n << std::endl;
    exit(EXIT_FAILURE);
  }

  entry.key = read_integer(bookFile, 8);
  entry.move = read_integer(bookFile, 2);
  entry.count = read_integer(bookFile, 2);
  entry.n = read_integer(bookFile, 2);
  entry.sum = read_integer(bookFile, 2);
}
开发者ID:infolock,项目名称:Glaurung,代码行数:15,代码来源:book.cpp


示例7: network_read_mask

static ssize_t network_read_mask(int fd, uint32_t *mask, size_t words)
{
	long read_len;
	ssize_t ret;

	ret = read_integer(fd, &read_len);
	if (ret < 0)
		return ret;

	if (read_len > 0 && mask) {
		size_t i;
		char buf[9];

		buf[8] = '\0';
		DEBUG("Reading mask\n");

		for (i = words; i > 0; i--) {
			ret = read_all(buf, 8, fd);
			if (ret < 0)
				return ret;

			sscanf(buf, "%08x", &mask[i - 1]);
			DEBUG("mask[%i] = 0x%x\n", i - 1, mask[i - 1]);
		}
	}

	if (read_len > 0) {
		char c;
		ssize_t nb = read_all(&c, 1, fd);
		if (nb > 0 && c != '\n')
			read_len = -EIO;
	}

	return (ssize_t) read_len;
}
开发者ID:lrmodesgh,项目名称:libiio,代码行数:35,代码来源:network.c


示例8: main

int main(int argc, char **argv) 
{
	CLIENT client_struct, *c;
        FLICK_SERVER_LOCATION s;
	int sel, done;
	
	c = &client_struct;
	
	if (argc != 2) {
		fprintf(stderr, "Usage: %s <host>\n", argv[0]);
		exit(1);
	}
	
	s.server_name = argv[1];
	s.prog_num = netphone;
	s.vers_num = firstphone;
	create_client(c, s);
	
	done = 0;
	while (!done) {
		read_integer(("\n(1) Add an entry (2) Remove an entry "
			      "(3) Find a phone number (4) Exit: "),
			     &sel);
		switch(sel) {
		case 1:  add_entry(c); break;
		case 2:  remove_entry(c); break;
		case 3:  find_entry(c); break;
		case 4:  done = 1; break;
		default: printf("Please enter 1, 2, 3, or 4.\n");
		}
	}
	return 0;
}
开发者ID:berkus,项目名称:flick,代码行数:33,代码来源:phonebook.c


示例9: exec_command

static long exec_command(const char *cmd, int fd)
{
	long resp;
	ssize_t ret = write_command(cmd, fd);
	if (ret < 0)
		return (long) ret;

	DEBUG("Reading response\n");
	ret = read_integer(fd, &resp);
	if (ret < 0) {
		char buf[1024];
		iio_strerror(-ret, buf, sizeof(buf));
		ERROR("Unable to read response: %s\n", buf);
		return (long) ret;
	}

#if LOG_LEVEL >= DEBUG_L
	if (resp < 0) {
		char buf[1024];
		iio_strerror(-resp, buf, sizeof(buf));
		DEBUG("Server returned an error: %s\n", buf);
	}
#endif

	return resp;
}
开发者ID:lrmodesgh,项目名称:libiio,代码行数:26,代码来源:network.c


示例10: read

 geometry_ptr read() 
 {
     geometry_ptr geom;
     int type=read_integer();
     switch (type)
     {
     case wkbPoint:
         geom = read_point();
         break;
     case wkbLineString:
         geom = read_linestring();
         break;
     case wkbPolygon:
         geom = read_polygon();
         break;
     case wkbMultiPoint:
         geom = read_multipoint();
         break;
     case wkbMultiLineString:
         geom = read_multilinestring();
         break;
     case wkbMultiPolygon:
         geom=read_multipolygon();
         break;
     case wkbGeometryCollection:
         break;
     default:
         break;
     }
     return geom;
 }
开发者ID:BackupTheBerlios,项目名称:mapnik-svn,代码行数:31,代码来源:wkb.cpp


示例11: read_error_code

static ssize_t read_error_code(int fd)
{
	/*
	 * The server returns two integer codes.
	 * The first one is returned right after the WRITEBUF command is issued,
	 * and corresponds to the error code returned when the server attempted
	 * to open the device.
	 * If zero, a second error code is returned, that corresponds (if positive)
	 * to the number of bytes written.
	 *
	 * To speed up things, we delay error reporting. We just send out the
	 * data without reading the error code that the server gives us, because
	 * the answer will take too much time. If an error occured, it will be
	 * reported by the next call to iio_buffer_push().
	 */

	unsigned int i;
	long resp = 0;

	for (i = 0; i < 2; i++) {
		ssize_t ret = read_integer(fd, &resp);
		if (ret < 0)
			return ret;
		if (resp < 0)
			return (ssize_t) resp;
	}

	return (ssize_t) resp;
}
开发者ID:lrmodesgh,项目名称:libiio,代码行数:29,代码来源:network.c


示例12: read_entry

static void read_entry(entry_t * entry, int n) {

   ASSERT(entry!=NULL);
   ASSERT(n>=0&&n<BookSize);

   ASSERT(BookFile!=NULL);

   if (fseek(BookFile,n*16,SEEK_SET) == -1) {
      my_fatal("read_entry(): fseek(): %s\n",strerror(errno));
   }

   entry->key   = read_integer(BookFile,8);
   entry->move  = read_integer(BookFile,2);
   entry->count = read_integer(BookFile,2);
   entry->n     = read_integer(BookFile,2);
   entry->sum   = read_integer(BookFile,2);
}
开发者ID:ZirconiumX,项目名称:fruitfly,代码行数:17,代码来源:book.cpp


示例13: read_multilinestring_xyz

 void read_multilinestring_xyz(boost::ptr_vector<geometry_type> & paths)
 {
     int num_lines = read_integer();
     for (int i = 0; i < num_lines; ++i)
     {
         pos_ += 5;
         read_linestring_xyz(paths);
     }
 }
开发者ID:rjw57,项目名称:mapnik,代码行数:9,代码来源:wkb.cpp


示例14: read_multipolygon_xyz

 void read_multipolygon_xyz(boost::ptr_vector<geometry_type> & paths)
 {
     int num_polys = read_integer();
     for (int i = 0; i < num_polys; ++i)
     {
         pos_ += 5;
         read_polygon_xyz(paths);
     }
 }
开发者ID:rjw57,项目名称:mapnik,代码行数:9,代码来源:wkb.cpp


示例15: read_collection

 void read_collection(boost::ptr_vector<geometry_type> & paths)
 {
     int num_geometries = read_integer();
     for (int i = 0; i < num_geometries; ++i)
     {
         pos_ += 1; // skip byte order
         read(paths);
     }
 }
开发者ID:rjw57,项目名称:mapnik,代码行数:9,代码来源:wkb.cpp


示例16: fread

static std::vector<uint8_t> *read_data()
{
    size_t len = (size_t)read_integer();
    if (len < 0)
        return nullptr;
    std::vector<uint8_t> *v = new std::vector<uint8_t>();
    v->resize(len);
    fread(v->data(), (int)v->size(), 1, stdin);
    return v;
}
开发者ID:3dluvr,项目名称:d3d4linux,代码行数:10,代码来源:d3d4linux.cpp


示例17: read_polygon_xyz

 void read_polygon_xyz(boost::ptr_vector<geometry_type> & paths)
 {
     geometry_type* poly = new geometry_type(Polygon);
     int num_rings = read_integer();
     unsigned capacity = 0;
     for (int i = 0; i < num_rings; ++i)
     {
         int num_points = read_integer();
         capacity += num_points;
         CoordinateArray ar(num_points);
         read_coords_xyz(ar);
         poly->move_to(ar[0].x, ar[0].y);
         for (int j = 1; j < num_points; ++j)
         {
             poly->line_to(ar[j].x, ar[j].y);
         }
     }
     paths.push_back(poly);
 }
开发者ID:rjw57,项目名称:mapnik,代码行数:19,代码来源:wkb.cpp


示例18: read

    void read(boost::ptr_vector<geometry_type> & paths)
    {
        int type = read_integer();

#ifdef MAPNIK_LOG
        MAPNIK_LOG_DEBUG(wkb_reader) << "wkb_reader: Read=" << wkb_geometry_type_string(type) << "," << type;
#endif
        switch (type)
        {
        case wkbPoint:
            read_point(paths);
            break;
        case wkbLineString:
            read_linestring(paths);
            break;
        case wkbPolygon:
            read_polygon(paths);
            break;
        case wkbMultiPoint:
            read_multipoint(paths);
            break;
        case wkbMultiLineString:
            read_multilinestring(paths);
            break;
        case wkbMultiPolygon:
            read_multipolygon(paths);
            break;
        case wkbGeometryCollection:
            read_collection(paths);
            break;
        case wkbPointZ:
            read_point_xyz(paths);
            break;
        case wkbLineStringZ:
            read_linestring_xyz(paths);
            break;
        case wkbPolygonZ:
            read_polygon_xyz(paths);
            break;
        case wkbMultiPointZ:
            read_multipoint_xyz(paths);
            break;
        case wkbMultiLineStringZ:
            read_multilinestring_xyz(paths);
            break;
        case wkbMultiPolygonZ:
            read_multipolygon_xyz(paths);
            break;
        case wkbGeometryCollectionZ:
            read_collection(paths);
            break;
        default:
            break;
        }
    }
开发者ID:rjw57,项目名称:mapnik,代码行数:55,代码来源:wkb.cpp


示例19: read_collection

 mapnik::geometry::geometry_collection<double> read_collection()
 {
     int num_geometries = read_integer();
     mapnik::geometry::geometry_collection<double> collection;
     for (int i = 0; i < num_geometries; ++i)
     {
         pos_ += 1; // skip byte order
         collection.push_back(std::move(read()));
      }
     return collection;
  }
开发者ID:bblu,项目名称:mapnik,代码行数:11,代码来源:wkb.cpp


示例20: read_multipolygon

 mapnik::geometry::multi_polygon<double> read_multipolygon()
 {
     int num_polys = read_integer();
     mapnik::geometry::multi_polygon<double> multi_poly;
     for (int i = 0; i < num_polys; ++i)
     {
         pos_ += 5;
         multi_poly.push_back(std::move(read_polygon<M, Z>()));
     }
     return multi_poly;
 }
开发者ID:bblu,项目名称:mapnik,代码行数:11,代码来源:wkb.cpp



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
C++ read_item函数代码示例发布时间:2022-05-30
下一篇:
C++ read_int32函数代码示例发布时间: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