📄 half.cpp
字号:
/* a program which will read an input file andthen output a file with 1/2 as many particles */#include <stdio.h>#include "xgrafix.h"void main(int argc,char **argv) { FILE *In,*Out; Scalar ftemp; int number_of_species,pgnumparticlesin,pgnumparticlesout,speciesID; char Revision[40]; int isp,i,j; if((In = fopen(argv[1],"rb"))==NULL) exit(1); if((Out = fopen(argv[2],"w"))==NULL) exit(1); //Read and write the revision XGRead(Revision,1,4,In,"char"); XGWrite(Revision,1,4,Out,"char"); //read and write the simulation time XGRead(&ftemp,ScalarInt,1,In,ScalarChar); XGWrite(&ftemp,ScalarInt,1,Out,ScalarChar); //read and write nspecies XGRead(&number_of_species,4,1,In,"int"); XGWrite(&number_of_species,4,1,Out,"int"); for(isp=0;isp<number_of_species;isp++) { do { XGRead(&speciesID,4,1,In,"int"); XGRead(&pgnumparticlesin,4,1,In,"int"); pgnumparticlesout=pgnumparticlesin/2 + pgnumparticlesin%2; XGWrite(&speciesID,4,1,Out,"int"); XGWrite(&pgnumparticlesout,4,1,Out,"int"); for(j=0;j<pgnumparticlesin;j++) { XGRead(&ftemp, ScalarInt, 1, In, ScalarChar);//x.e1 if(!(j%2)) XGWrite(&ftemp, ScalarInt, 1, Out, ScalarChar); XGRead(&ftemp, ScalarInt, 1, In, ScalarChar); //x.e2 if(!(j%2)) XGWrite(&ftemp, ScalarInt, 1, Out, ScalarChar); XGRead(&ftemp, ScalarInt, 1, In, ScalarChar); //v.e1 if(!(j%2)) XGWrite(&ftemp, ScalarInt, 1, Out, ScalarChar); XGRead(&ftemp, ScalarInt, 1, In, ScalarChar); //v.e2 if(!(j%2)) XGWrite(&ftemp, ScalarInt, 1, Out, ScalarChar); XGRead(&ftemp, ScalarInt, 1, In, ScalarChar); //v.e3 if(!(j%2)) XGWrite(&ftemp, ScalarInt, 1, Out, ScalarChar); XGRead(&ftemp, ScalarInt, 1, In, ScalarChar); //np2c ftemp*=2; if(!(j%2)) XGWrite(&ftemp, ScalarInt, 1, Out, ScalarChar); } //for } while(pgnumparticlesin); }//for int zero=0; XGWrite(&zero, 4, 1, Out, "int"); XGWrite(&zero, 4, 1, Out, "int"); XGWrite(&zero, 4, 1, Out, "int"); XGWrite(&zero, 4, 1, Out, "int"); fclose(In); fclose(Out);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -