您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ xdrstdio_create函数代码示例

51自学网 2021-06-03 10:18:02
  C++
这篇教程C++ xdrstdio_create函数代码示例写得很实用,希望能帮到您。

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

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

示例1: prot_x

int prot_x (int connfd){	XDR xdrs_r, xdrs_w;	//char buf[MAXBUFL];	//int nread;	int op1 = 0;	int op2 = 0;	int res;	//xdrmem_create(xdrs, buf, MAXBUFL, XDR_DECODE);	FILE *stream_socket_r = fdopen(connfd, "r");	if (stream_socket_r == NULL)		err_sys ("(%s) error - fdopen() failed", prog_name);	xdrstdio_create(&xdrs_r, stream_socket_r, XDR_DECODE);	FILE *stream_socket_w = fdopen(connfd, "w");	if (stream_socket_w == NULL)		err_sys ("(%s) error - fdopen() failed", prog_name);	xdrstdio_create(&xdrs_w, stream_socket_w, XDR_ENCODE);	trace( err_msg("(%s) - waiting for operands ...", prog_name) );	/* get the operands */	if ( ! xdr_int(&xdrs_r, &op1) ) {		trace( err_msg("(%s) - cannot read op1 with XDR", prog_name) );	} else {		trace( err_msg("(%s) - read op1 = %d", prog_name, op1) );	}	if ( ! xdr_int(&xdrs_r, &op2) ) {		trace( err_msg("(%s) - cannot read op2 with XDR", prog_name) );	} else {		trace( err_msg("(%s) - read op2 = %d", prog_name, op2) );	}	/* do the operation */	res = op1 + op2;	xdr_destroy(&xdrs_r);	trace( err_msg("(%s) --- result of the sum: %d", prog_name, res) );	/* send the result */	xdr_int(&xdrs_w, &res);	fflush(stream_socket_w);	xdr_destroy(&xdrs_w);	fclose(stream_socket_w);	/* NB: Close read streams only after writing operations have also been done */	fclose(stream_socket_r);	trace( err_msg("(%s) --- result just sent back", prog_name) );	return 0;}
开发者ID:darioplatania,项目名称:socketC,代码行数:57,


示例2: mbbs_rdversion

intmbbs_rdversion(FILE *fp, int *version){	XDR xdrs;	if (sizeof(int) < 4)		return BS_BADARCH;	bs_iobytecnt= 0;	xdrstdio_create(&xdrs, fp, XDR_DECODE);	if (!xdr_int(&xdrs, version))		return BS_FAILURE;	bs_iobytecnt+= 4;	switch (*version) {	case MR1_VERSION_1_0:	case MR1_VERSION_2_0:	case BS_VERSION_1_0:	case BS_VERSION_1_1:	case BS_VERSION_1_2:	case BS_VERSION_1_3:	case BS_VERSION_1_4:		break;	default:		return BS_BADDATA;	}	xdr_destroy(&xdrs);	return BS_SUCCESS;}
开发者ID:hohonuuli,项目名称:mb-system,代码行数:32,


示例3: main

main (){        FILE *fp;                  /*указатель файла */        XDR xdrs;                  /*дескpиптоp XDR */        long val1=10;              /*целое */        float val2=4.456789;       /*с плавающей точкой */        char val3s[] = "qwerty123456uvwxyz"; /* 18+1 bytes null terminated string */        char *val3;        int r;        val3 = malloc(20);        strcpy(val3,val3s);/*откpытие файла на запись */        fp = fopen(FIC, "w");/*      создание потока XDR для кодиpования */        xdrstdio_create(&xdrs, fp, XDR_ENCODE);/*запись целого */        xdr_long(&xdrs, &val1);/*запись числа с плавающей точкой */        xdr_float(&xdrs, &val2);/* write string */        r = xdr_string(&xdrs, &val3, strlen(val3));        printf("r=%d/n",r);        free(val3);        fclose(fp);        exit(0);}
开发者ID:vleo,项目名称:vleo-notebook,代码行数:26,


示例4: read_nis_obj

static void *read_nis_obj (const char *name, iofct_t readfct, freefct_t freefct,	      size_t objsize){  FILE *in = fopen (name, "rce");  if (in == NULL)    return NULL;  void *obj = calloc (1, objsize);  if (obj != NULL)    {      XDR xdrs;      xdrstdio_create (&xdrs, in, XDR_DECODE);      bool_t status = readfct (&xdrs, obj);      xdr_destroy (&xdrs);      if (!status)	{	  freefct (obj);	  obj = NULL;	}    }  fclose (in);  return obj;}
开发者ID:jengelh,项目名称:libnsl,代码行数:28,


示例5: write_struct

static bool_twrite_struct(char *filename, xdrproc_t structproc, void *list){	FILE *fp;	XDR xdrs;	mode_t omask;	omask = umask(077);	fp = fopen(filename, "w");	if (fp == NULL) {		int i;		for (i = 0; i < 10; i++)			close(i);		fp = fopen(filename, "w");		if (fp == NULL) {			syslog(LOG_ERR,				"cannot open file = %s for writing", filename);			syslog(LOG_ERR, "cannot save any registration");			return (FALSE);		}	}	(void) umask(omask);	xdrstdio_create(&xdrs, fp, XDR_ENCODE);	if (structproc(&xdrs, list) == FALSE) {		syslog(LOG_ERR, "rpcbind: xdr_%s: failed", filename);		fclose(fp);		return (FALSE);	}	XDR_DESTROY(&xdrs);	fclose(fp);	return (TRUE);}
开发者ID:hmatyschok,项目名称:MeshBSD,代码行数:34,


示例6: xdrstdio_create_cb

/* opens test file for read or write */bool_txdrstdio_create_cb (XDR *xdrs, enum xdr_op op, void * data){  bool_t rVal = TRUE;  xdrstdio_creation_data* xdrstdio_data = (xdrstdio_creation_data*)data;  switch (op)    {      case XDR_DECODE:      case XDR_FREE:        xdrstdio_data->f = fopen (xdrstdio_data->fullname, FOPEN_RB);        break;      case XDR_ENCODE:        xdrstdio_data->f = fopen (xdrstdio_data->fullname, FOPEN_WB);        break;    }  if (!xdrstdio_data->f)    {      log_msg (xdrstdio_data->o->log, XDR_LOG_NORMAL,               "could not open data file: %s/n", xdrstdio_data->fullname);      rVal = FALSE;    }  else    {      xdrstdio_create (xdrs, xdrstdio_data->f, op);      xdrstdio_data->finish_guard = 1;    }  return rVal;}
开发者ID:baoilleach,项目名称:bsd-xdr,代码行数:31,


示例7: nis_read_obj

nis_object *nis_read_obj (const char *name){  XDR xdrs;  FILE *in;  bool_t status;  nis_object *obj;  in = fopen (name, "rb");  if (in == NULL)    return NULL;  obj = calloc (1, sizeof (nis_object));  if (obj == NULL)    {      fclose (in);      return NULL;    }  xdrstdio_create (&xdrs, in, XDR_DECODE);  status =_xdr_nis_object (&xdrs, obj);  xdr_destroy (&xdrs);  fclose (in);  if (status)    return obj;  else    {      nis_free_object (obj);      return NULL;    }}
开发者ID:BackupTheBerlios,项目名称:wl530g-svn,代码行数:32,


示例8: malloc

void *restore_data(void *data){//Deserialization  /*This way I can actually recover the data in the same process*/  container *old_data;  old_data=(container *) malloc(sizeof(container));  FILE *fp;  XDR xdrs;  fp=fopen(ser_process_var,"r");  xdrstdio_create(&xdrs,fp, XDR_DECODE);   if(!xdr_container(&xdrs,old_data)) printf("Deserialization error/n"); //Do sth!!!   //else printf("Data restored/n");   xdr_destroy (&xdrs);  fclose (fp);//  printf("From old version:/nage %f    name %s   address %s   option %d/n",old_data->age,old_data->name, old_data->address, old_data->option);    container_2 *new_data;  new_data=(container_2 *) malloc(sizeof(container_2));    new_data->name=old_data->name;  new_data->num_executions=(int)old_data->num_executions;//  printf("Restored :/nage %d    name %s   address %s   option %d/n",new_data->age,new_data->name, new_data->address, new_data->option);    free(old_data);  return (void *)new_data;}
开发者ID:Facj,项目名称:Update_sw,代码行数:30,


示例9: readColdStartFile

directory_obj *readColdStartFile (void){  XDR xdrs;  FILE *in;  bool_t status = TRUE;  directory_obj *obj;  in = fopen (cold_start_file, "rb");  if (in == NULL)    return NULL;  obj = calloc (1, sizeof (directory_obj));  if (obj != NULL)    {      xdrstdio_create (&xdrs, in, XDR_DECODE);      status = _xdr_directory_obj (&xdrs, obj);      xdr_destroy (&xdrs);      if (!status)	{	  nis_free_directory (obj);	  obj = NULL;	}    }  fclose (in);  return obj;}
开发者ID:BackupTheBerlios,项目名称:wl530g-svn,代码行数:31,


示例10: mda_dump

int mda_dump( char *file){  XDR xdrstream;  FILE *input;  int extraflag;  if( (input = fopen( file, "rb")) == NULL)    {      fprintf(stderr, "Can't open file!/n");      return 1;    }  xdrstdio_create(&xdrstream, input, XDR_DECODE);    extraflag = mda_dump_header( &xdrstream);  mda_dump_scan( &xdrstream);  if( extraflag)    mda_dump_extra( &xdrstream);  xdr_destroy( &xdrstream);  fclose(input);  return 0;}
开发者ID:A2-Collaboration,项目名称:epics,代码行数:31,


示例11: strcpy

long *kdReadLongArray(char *filename, int bAscii, char *arrayName)// Reads a tipsy array file{  XDR xdrs;  FILE *fp;  long np;  long *arr, temp;  int i;  char arrFile[256];  strcpy(arrFile, filename);  strcat(arrFile, ".");  strcat(arrFile, arrayName);  fprintf(stderr, "array = %s/n", arrFile);  if (!bAscii) {    assert(sizeof(Real)==sizeof(float)); /* Otherwise, this XDR stuff					    ain't gonna work */        fp = fopen(arrFile, "r");    xdrstdio_create(&xdrs, fp, XDR_DECODE);    xdr_long(&xdrs, &np);    arr = malloc(sizeof(float)*np);    for(i=0;i<np;i++) xdr_long(&xdrs,&temp);  }  fclose(fp);    return arr; }
开发者ID:rokroskar,项目名称:sph_resample,代码行数:30,


示例12: main

main(){  xdrstdio_create(&xdrs, stdin, XDR_DECODE);  forever {	if(xdr_header() != 1)	  break;	if(gas_particles != NULL) free(gas_particles);	if(header.nsph != 0) {	    gas_particles = (struct gas_particle *)				malloc(header.nsph*sizeof(*gas_particles));	    if(gas_particles == NULL) {		printf("<sorry, no memory for gas particles, master>/n") ;		return ;	    }	}	else	  gas_particles = NULL;	if(dark_particles != NULL) free(dark_particles);	if(header.ndark != 0) {	    dark_particles = (struct dark_particle *)				malloc(header.ndark*sizeof(*dark_particles));	    if(dark_particles == NULL) {		printf("<sorry, no memory for dark particles, master>/n") ;		return ;	    }	}	else	  dark_particles = NULL;	if(star_particles != NULL) free(star_particles);	if(header.nstar != 0) {	    star_particles = (struct star_particle *)				malloc(header.nstar*sizeof(*star_particles));	    if(star_particles == NULL) {		printf("<sorry, no memory for star particles, master>/n") ;		return ;	    }	}	else	  star_particles = NULL;	xdr_gas();	xdr_dark();	xdr_star();		fwrite((char *)&header,sizeof(header),1,stdout) ;	fwrite((char *)gas_particles,sizeof(struct gas_particle),	      header.nsph, stdout) ;	fwrite((char *)dark_particles,sizeof(struct dark_particle),	       header.ndark,stdout) ;	fwrite((char *)star_particles,sizeof(struct star_particle),	      header.nstar, stdout) ;  	fprintf(stderr, "read time %lf/n",header.time) ;      }  xdr_destroy(&xdrs);}
开发者ID:N-BodyShop,项目名称:skid,代码行数:59,


示例13: main

intmain (){  XDR xdr;  stringlist strings;  stringentry *entry;  FILE *fp;  fp = fopen ("test1.out", "w");  xdrstdio_create (&xdr, fp, XDR_ENCODE);  strings = malloc (sizeof (struct stringentry));  strings->item = strdup ("hello");  strings->next = malloc (sizeof (struct stringentry));  strings->next->item = strdup ("goodbye");  strings->next->next = NULL;  if (!xdr_stringlist (&xdr, &strings)) {    fprintf (stderr, "test1: could not encode/n");    exit (1);  }  xdr_free ((xdrproc_t) xdr_stringlist, (char *) &strings);  xdr_destroy (&xdr);  fclose (fp);  fp = fopen ("test1.out", "r");  xdrstdio_create (&xdr, fp, XDR_DECODE);  strings = NULL;  if (!xdr_stringlist (&xdr, &strings)) {    fprintf (stderr, "test1: could not decode/n");    exit (1);  }  fclose (fp);  for (entry = strings; entry; entry = entry->next)    printf ("entry->item = %s/n", entry->item);  xdr_free ((xdrproc_t) xdr_stringlist, (char *) &strings);  xdr_destroy (&xdr);  exit (0);}
开发者ID:mnv104,项目名称:xdrTests,代码行数:45,


示例14: wrxdr

/**  * Write a SAC data file from memory to disk is XDR (portable) format *  * @param idfl  *    Data file list index number * @param kname  *    Name of file to write * @param kname_s  *    Length of /p kname * @param ldta  *    - TRUE to write the data and header *    - FALSE to write only the header, not data * @param nerr  *    Error Return Flag *    - 0 on Success *    - ERROR_WRITING_XDR_FILE *    - ERROR_ENCODING_XDR_FILE * * @date   010496:  Original version. * */void wrxdr(int   idfl,       char *kname,       int   kname_s,       int   ldta,       int  *nerr) {	int jcomp, ncerr, nlcmem, nptwr;         FILE *nun;        XDR xdrs;	*nerr = 0;        if( !ldta ){          *nerr = ERROR_WRITING_XDR_FILE;          return;	}	/* create a file */	znfiles(&nun, kname, kname_s, "TEXT", 5, nerr);	if( *nerr != 0 )	    return;	/* create a stream for the XDR conversions */	xdrstdio_create(&xdrs, nun, XDR_ENCODE);	/* - Write the header to disk. */	nlcmem = Ndxhdr[idfl];	xdrhdr(xdrs, cmmem.sacmem[nlcmem],nerr);	if( *nerr != 0 )	    goto L_8888;	/* - Write each data component, if requested. */	if( ldta ){	    for( jcomp = 0; jcomp < Ncomp[idfl]; jcomp++ ){		nlcmem = cmdfm.ndxdta[idfl - 1][jcomp];		nptwr = Nlndta[idfl];		if( !xdr_array(&xdrs, (caddr_t *)&cmmem.sacmem[nlcmem],		    (u_int *)&nptwr, (u_int)nptwr, sizeof(float), xdr_float)){		    *nerr = ERROR_ENCODING_XDR_FILE;		    goto L_8888;		}	    }	}/* - Close disk file. */L_8888:        xdr_destroy(&xdrs);	zcloses( &nun, &ncerr );	return;} 
开发者ID:wjlei1990,项目名称:WORKFLOW,代码行数:77,


示例15: mint_1_readfh

void mint_1_readfh(mint_1 *dest, FILE *fh){	XDR xdrs;	xdrstdio_create(&xdrs, fh, XDR_DECODE);	if (!xdr_mint_1(&xdrs, dest))		panic("error decoding MINT input file");	xdr_destroy(&xdrs);	mint_1_check(dest);}
开发者ID:berkus,项目名称:flick,代码行数:11,


示例16: aoi_readfh

/* aoi_readfh() uses rpcgen-created routes to read in AOI.*/void aoi_readfh(aoi *dest, FILE *fh){    XDR xdrs;    xdrstdio_create(&xdrs, fh, XDR_DECODE);    if (!xdr_aoi(&xdrs, dest))        panic("error decoding AOI input file");    xdr_destroy(&xdrs);    aoi_check(dest);}
开发者ID:berkus,项目名称:flick,代码行数:13,


示例17: ssioOpen

intssioOpen(const char *filename,SSIO *ssio,const u_int mode) {    const char type[][3] = {"r","w","r+"};    const enum xdr_op op[] = {XDR_DECODE,XDR_ENCODE,XDR_ENCODE};    assert(filename != NULL && ssio != NULL);    assert(mode == SSIO_READ || mode == SSIO_WRITE || mode == SSIO_UPDATE);    if (!(ssio->fp = fopen(filename,type[mode])))	return 1;    xdrstdio_create(&ssio->xdrs,ssio->fp,op[mode]);    return 0;    }
开发者ID:jpcoles,项目名称:ZM,代码行数:12,


示例18: writeInput

void writeInput(void){  const char routineName[] = "writeInput";  bool_t  result=TRUE, PRD_angle_dep, XRD, big_endian;  FILE   *fp_out;  XDR     xdrs;  if (!strcmp(INPUT_DOT_OUT, "none")) return;  if ((fp_out = fopen(INPUT_DOT_OUT, "w")) == NULL) {    sprintf(messageStr, "Unable to open output file %s",	    INPUT_DOT_OUT);    Error(ERROR_LEVEL_1, routineName, messageStr);    return;  }  xdrstdio_create(&xdrs, fp_out, XDR_ENCODE);  PRD_angle_dep = (input.PRD_angle_dep != PRD_ANGLE_INDEP  &&  atmos.NPRDactive > 0);  XRD           = (input.XRD  &&  atmos.NPRDactive > 0);  /* --- Write various input parameters to file --     -------------- */        result &= xdr_bool(&xdrs, &input.magneto_optical);  result &= xdr_bool(&xdrs, &PRD_angle_dep);  result &= xdr_bool(&xdrs, &XRD);  result &= xdr_enum(&xdrs, (enum_t *) &input.startJ);  result &= xdr_enum(&xdrs, (enum_t *) &input.StokesMode);  result &= xdr_double(&xdrs, &input.metallicity);  result &= xdr_bool(&xdrs, &input.backgr_pol);  /* --- Write Endianness of compute architecture so that J can be         read properly in the analysis --              -------------- */  big_endian = is_big_endian();  result &= xdr_bool(&xdrs, &big_endian);  if (!result) {    sprintf(messageStr, "Unable to write proper amount to output file %s",	    INPUT_DOT_OUT);    Error(ERROR_LEVEL_1, routineName, messageStr);  }  xdr_destroy(&xdrs);  fclose(fp_out);}
开发者ID:kouui,项目名称:rh,代码行数:49,


示例19: write_nis_obj

static bool_twrite_nis_obj (const char *name, const void *obj, iofct_t writefct){  FILE *out = fopen (name, "wce");  if (out == NULL)    return FALSE;  XDR xdrs;  xdrstdio_create (&xdrs, out, XDR_ENCODE);  bool_t status = writefct (&xdrs, (void *) obj);  xdr_destroy (&xdrs);  fclose (out);  return status;}
开发者ID:jengelh,项目名称:libnsl,代码行数:15,


示例20: gmx_fio_rewind

void gmx_fio_rewind(t_fileio* fio){    gmx_fio_lock(fio);    if (fio->xdr)    {        xdr_destroy(fio->xdr);        frewind(fio->fp);        xdrstdio_create(fio->xdr, fio->fp, fio->xdrmode);    }    else    {        frewind(fio->fp);    }    gmx_fio_unlock(fio);}
开发者ID:yhalcyon,项目名称:Gromacs,代码行数:16,


示例21: save_data

int save_data(void *data){    container_2 *old_data;  old_data=(container_2 *)data;  //printf("Before serialization: %s/n",old_data->name);  XDR xdrs;  //Serialization  FILE *fp;  fp=fopen(ser_process_var,"w");  xdrstdio_create(&xdrs,fp, XDR_ENCODE);  if(!xdr_container(&xdrs,old_data)) {printf("Serialization error/n"); return 1;}  //else printf("Data saved/n");   xdr_destroy (&xdrs);  fclose (fp);  return 0;}
开发者ID:Facj,项目名称:Update_sw,代码行数:16,


示例22: main

//read decode from ./w and encodeintmain(int argc, char *argv[]){    XDR xdr;    long j;    xdrstdio_create(&xdr, stdin, XDR_DECODE);    for (int i =0; i < 8; ++i)    {        if ( !xdr_long(&xdr, &j) ) {            fprintf(stderr, "failed");            exit(1);        }        printf("%ld/n", j);    }    printf("/n");    return 0;}
开发者ID:NEXUS1000,项目名称:Linux-learning,代码行数:19,


示例23: writeColdStartFile

bool_twriteColdStartFile (const directory_obj *obj){  XDR xdrs;  FILE *out;  bool_t status;  out = fopen (cold_start_file, "wb");  if (out == NULL)    return FALSE;  xdrstdio_create (&xdrs, out, XDR_ENCODE);  status = _xdr_directory_obj (&xdrs, (directory_obj *) obj);  xdr_destroy (&xdrs);  fclose (out);  return status;}
开发者ID:BackupTheBerlios,项目名称:wl530g-svn,代码行数:18,


示例24: nis_write_obj

bool_tnis_write_obj (const char *name, const nis_object *obj){  XDR xdrs;  FILE *out;  bool_t status;  out = fopen (name, "wb");  if (out == NULL)    return FALSE;  xdrstdio_create (&xdrs, out, XDR_ENCODE);  status = _xdr_nis_object (&xdrs, (nis_object *) obj);  xdr_destroy (&xdrs);  fclose (out);  return status;}
开发者ID:BackupTheBerlios,项目名称:wl530g-svn,代码行数:18,


示例25: read_struct

static bool_tread_struct(char *filename, xdrproc_t structproc, void *list){	FILE *fp;	XDR xdrs;	struct stat sbuf;	if (stat(filename, &sbuf) != 0) {		fprintf(stderr,		"rpcbind: cannot stat file = %s for reading/n", filename);		goto error;	}	if ((sbuf.st_uid != 0) || (sbuf.st_mode & S_IRWXG) ||	    (sbuf.st_mode & S_IRWXO)) {		fprintf(stderr,		"rpcbind: invalid permissions on file = %s for reading/n",			filename);		goto error;	}	fp = fopen(filename, "r");	if (fp == NULL) {		fprintf(stderr,		"rpcbind: cannot open file = %s for reading/n", filename);		goto error;	}	xdrstdio_create(&xdrs, fp, XDR_DECODE);	if (structproc(&xdrs, list) == FALSE) {		fprintf(stderr, "rpcbind: xdr_%s: failed/n", filename);		fclose(fp);		goto error;	}	XDR_DESTROY(&xdrs);	fclose(fp);	return (TRUE);error:	fprintf(stderr, "rpcbind: will start from scratch/n");	return (FALSE);}
开发者ID:hmatyschok,项目名称:MeshBSD,代码行数:39,


示例26: main

intmain(){    struct gas_particle gas;    struct dark_particle dark;    struct star_particle star;    struct dump header;    int i;    XDR xdrs;  setvbuf(stdin, NULL, _IOFBF, 32*4096);  setvbuf(stdout, NULL, _IOFBF, 32*4096);  xdrstdio_create(&xdrs, stdout, XDR_ENCODE);  forever {	if(fread((char *)&header,sizeof(header),1,stdin) != 1)	  break;	fprintf(stderr, "reading time %f/n",header.time) ;	xdr_header(&xdrs, &header);	for(i = 0; i < header.nsph; i++) {	    fread((char *)&gas,sizeof(struct gas_particle), 1, stdin) ;	    xdr_gas(&xdrs, &gas);	}	for(i = 0; i < header.ndark; i++) {	    fread((char *)&dark,sizeof(struct dark_particle), 1, stdin) ;	    xdr_dark(&xdrs, &dark);	}	for(i = 0; i < header.nstar; i++) {	    fread((char *)&star,sizeof(struct star_particle), 1, stdin) ;	    xdr_star(&xdrs, &star);	}		fprintf(stderr, "read time %f/n",header.time) ;      }  xdr_destroy(&xdrs);  return 0;}
开发者ID:N-BodyShop,项目名称:tipsy_tools,代码行数:37,


示例27: main

main(){ XDR xdr; FILE* fp = fopen("test", "r+"); if(fp) {   xdrstdio_create(&xdr, fp, XDR_DECODE);    RWXDRistream rw_xdr(&xdr);   int data;   for(int i=0; i<10; ++i)     {       rw_xdr >> data;      // decode integer data       if(data == i)         cout << data << endl;       else         cout << "Bad input value" << endl;     }    fclose(fp);  }  else
开发者ID:dhaley,项目名称:dcp,代码行数:24,


示例28: switch

void XdrMGF::init (XdrMGF::XdrIO_TYPE t, const char* fn, const char*, int){  m_type=t;  // Close old file if necessary  if (mp_fp) this->fini();  // Open file  switch (m_type)    {#ifdef LIBMESH_HAVE_XDR    case (XdrMGF::ENCODE):    case (XdrMGF::DECODE):      {        mp_fp = fopen (fn, (m_type == ENCODE) ? "w" : "r");        // Make sure the file is ready for use        if (!mp_fp)          libmesh_error_msg("XDR Error: Accessing file: " << fn << " failed.");        // Create the XDR handle        mp_xdr_handle = new XDR;        xdrstdio_create(mp_xdr_handle,                        mp_fp,                        ((m_type == ENCODE) ? XDR_ENCODE : XDR_DECODE));        break;      }#endif    case (XdrMGF::R_ASCII):      {        mp_in.open(fn, std::ios::in);        // Make sure it opened correctly        if (!mp_in.good())          libmesh_file_error(fn);        break;      }    case (XdrMGF::W_ASCII):      {        mp_out.open(fn, std::ios::out);        // Make sure it opened correctly        if (!mp_out.good())          libmesh_file_error(fn);        break;      }    default:      libmesh_error_msg("Unrecognized file access type!");    }  // Read/Write the file signature  const int  bufLen = 12;  char       buf[bufLen+1];  switch (m_type)    {#ifdef LIBMESH_HAVE_XDR    case (XdrMGF::ENCODE):      {        char* p = &buf[0];        const LegacyXdrIO::FileFormat orig = this->get_orig_flag();        std::ostringstream name;        if (orig == LegacyXdrIO::DEAL)          name << "DEAL 003:003";        else if (orig == LegacyXdrIO::MGF)          name << "MGF  002:000";        else if (orig == LegacyXdrIO::LIBM)          name << "LIBM " << this->get_num_levels();        else          libmesh_error_msg("Unknown orig " << orig);        // Fill the buffer        std::sprintf(&buf[0], "%s", name.str().c_str());        xdr_string(mp_xdr_handle, &p, bufLen);  // Writes binary signature        break;      }    case (XdrMGF::DECODE)://.........这里部分代码省略.........
开发者ID:GENGCHN,项目名称:libmesh,代码行数:101,


示例29: main

int main(int argc, char *argv[]){  register int k, l, n, la;  int     Nspace, result, NmaxIter, Ngdelay, Ngorder, Ngperiod, btype[3],          inputs[N_INPUTS], nwrite, Nx, Nz;  double  iterLimit, *lambda, Adamp;  stats.printCPU = TRUE;  commandline.quiet = FALSE;  commandline.logfile = stderr;  input.Eddington = FALSE;  getCPU(0, TIME_START, NULL);  SetFPEtraps();  fpin  = fopen("2dinput.dat", "r");  xdrstdio_create(&xdrs, fpin, XDR_DECODE);  result = xdr_vector(&xdrs, (char *) inputs, N_INPUTS,		      sizeof(int), (xdrproc_t) xdr_int);  atmos.angleSet.set = (enum angleset) inputs[0];  if (atmos.angleSet.set == SET_GL) {     result = xdr_int(&xdrs, &atmos.angleSet.Ninclination);     result = xdr_int(&xdrs, &atmos.angleSet.Nazimuth);  }  result = xdr_double(&xdrs, &iterLimit);  result = xdr_double(&xdrs, &Adamp);  Nx = geometry.Nx = inputs[1];  Nz = geometry.Nz = inputs[2];  NmaxIter = inputs[3];  Ngdelay  = inputs[4];  Ngorder = inputs[5];  Ngperiod = inputs[6];  Nlambda  = inputs[7];  Nspace   = atmos.Nspace = geometry.Nx * geometry.Nz;  result = xdr_vector(&xdrs, (char *) btype, 3,		      sizeof(int), (xdrproc_t) xdr_int);  geometry.hboundary = (enum boundary) btype[0];  for (n = 0;  n < 2;  n++)    geometry.bvalue[n] = (enum boundval) btype[1+n];  /* --- Check the validity of boundary conditions and values -- ---- */   switch (geometry.hboundary) {  case FIXED:     break;  case PERIODIC:  break;  default:    sprintf(messageStr, "Invalid horizontal boundary condition: %d",	    geometry.hboundary);    Error(ERROR_LEVEL_2, argv[0], messageStr);    break;  }  switch (geometry.bvalue[TOP]) {  case IRRADIATED:   break;  case ZERO:         break;  case THERMALIZED:  break;  default:    sprintf(messageStr, "Invalid boundary value at TOP: %d/n",	    geometry.bvalue[TOP]);    Error(ERROR_LEVEL_2, argv[0], messageStr);    break;  }  switch (geometry.bvalue[BOTTOM]) {  case IRRADIATED:   break;  case ZERO:         break;  case THERMALIZED:  break;  default:    sprintf(messageStr, "Invalid boundary value at BOTTOM: %d",	    geometry.bvalue[BOTTOM]);    Error(ERROR_LEVEL_2, argv[0], messageStr);    break;  }  /* --- Get increments in x, store and check for monotonicity -- --- */  geometry.dx = (double *) malloc(Nx * sizeof(double));  result = xdr_vector(&xdrs, (char *) geometry.dx, Nx,		       sizeof(double), (xdrproc_t) xdr_double);  for (l = 0;  l < ((geometry.hboundary == PERIODIC) ? Nx : Nx-1);  l++) {    geometry.dx[l] *= KM_TO_M;    if (geometry.dx[l] <= 0.0) {      sprintf(messageStr, "At l = %d:/n x does not increase strictly "              "monotonically towards the right", l);      Error(ERROR_LEVEL_2, argv[0], messageStr);    }   }  geometry.x = (double *) malloc(Nx * sizeof(double));  geometry.x[0] = 0.0;  for (l = 0;  l < Nx-1;  l++)    geometry.x[l+1] = geometry.x[l] + geometry.dx[l];  /* --- Get vertical grid --                          -------------- */  geometry.z = (double *) malloc(Nz * sizeof(double));  result = xdr_vector(&xdrs, (char *) geometry.z, Nz,		      sizeof(double), (xdrproc_t) xdr_double);  for (k = 0;  k < Nz;  k++) geometry.z[k] *= KM_TO_M;//.........这里部分代码省略.........
开发者ID:jorritleenaarts,项目名称:rh,代码行数:101,


示例30: mbbs_splitfile

intmbbs_splitfile(char *dirnm, char *bsfnm0, char *bsfnm1, int pngid, char *logprefix){	int chngdir, origdirfd, err;	char tmpfilenm[80], prefix[80], newlogtail[120];	char *lp, *tailstr;	FILE *ifp, *ofp;	XDR xdri, xdro;	BSFile bsfi, bsfo;	if (sizeof(int) < 4)		return BS_BADARCH;	if ((bsfnm0 == (char *) 0) ||	    ((int) strlen(bsfnm0) == 0) ||	    (bsfnm1 == (char *) 0) ||	    ((int) strlen(bsfnm1) == 0) ||	    (pngid < 0))		return BS_BADARG;	if ((dirnm == (char *) 0) ||	    ((int) strlen(dirnm) == 0))		chngdir= 0;	else		chngdir= 1;	if (chngdir) {		if ((origdirfd= open(".", O_RDONLY)) < 0)			return BS_OPEN;		if (chdir(dirnm) < 0) {			(void) close(origdirfd);			return BS_CHDIR;		}	}	/* rename original file to temporary name */	(void) strcpy(tmpfilenm, "BSLIBsplittmp");	if (access(tmpfilenm, F_OK) == 0) {		if (chngdir) {			(void) fchdir(origdirfd);			(void) close(origdirfd);		}		return BS_ACCESS;	}	if (rename(bsfnm0, tmpfilenm) < 0) {		if (chngdir) {			(void) fchdir(origdirfd);			(void) close(origdirfd);		}		return BS_RENAME;	}	if ((ifp= fopen(tmpfilenm, "r")) == (FILE *) 0) {		(void) rename(tmpfilenm, bsfnm0);		if (chngdir) {			(void) fchdir(origdirfd);			(void) close(origdirfd);		}		return BS_OPEN;	}	xdrstdio_create(&xdri, ifp, XDR_DECODE);	if ((err= mbbs_rdbsfhdr(&bsfi, &xdri)) != BS_SUCCESS) {		(void) fclose(ifp);		(void) rename(tmpfilenm, bsfnm0);		if (chngdir) {			(void) fchdir(origdirfd);			(void) close(origdirfd);		}		return err;	}	if (pngid >= bsfi.bsf_count) {		(void) mbbs_freebsfmem(&bsfi);		(void) fclose(ifp);		(void) rename(tmpfilenm, bsfnm0);		if (chngdir) {			(void) fchdir(origdirfd);			(void) close(origdirfd);		}		return BS_BADARG;	}	MemCopy(&bsfi, &bsfo, sizeof(BSFile));	/* these strings now belong to the output header! */	bsfi.bsf_srcfilenm= (char *) 0;	bsfi.bsf_log= (char *) 0;	if ((logprefix == (char *) 0) ||	    ((int) strlen(logprefix) == 0)) {		(void) sprintf(prefix, "BSLIB::bs_split()");		lp= prefix;	}	else if ((int) strlen(logprefix) > 50) {		(void) strncpy(prefix, logprefix, 47);		prefix[47]= '/0';		(void) strcat(prefix, "...");		lp= prefix;	}	else		lp= logprefix;	if ((int) strlen(bsfo.bsf_log) > 0)//.........这里部分代码省略.........
开发者ID:dwcaress,项目名称:MB-System,代码行数:101,



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


C++ xen_be_printf函数代码示例
C++ xdrmem_create函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。