| 5 | 1/1 | 返回列表 |
| 查看: 2155 | 回復(fù): 10 | ||
| 當前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | ||
herarysara木蟲 (小有名氣)
|
[求助]
lammps計算結(jié)果xyz文件中每個數(shù)字代表的字符長短。
|
|
| lammps計算結(jié)果xyz文件,想提出文件中的數(shù)據(jù),用c++的文件指針,可是不知道每個數(shù)據(jù)的字符長短,應(yīng)該怎么確定,求賜教! |
木蟲 (小有名氣)
木蟲 (小有名氣)
新蟲 (正式寫手)
|
我試了一下得到的xyz中數(shù)據(jù)的格式如下: ITEM: TIMESTEP 0 ITEM: NUMBER OF ATOMS 10000 ITEM: BOX BOUNDS 0 22.66 0 22.66 0 22.66 ITEM: ATOMS id type xs ys zs 5943 1 0.0583092 0.053962 0.061988 412 1 0.0225291 0.0612129 0.058574 2582 1 0.0497735 0.0260711 0.0323743 這些都是數(shù)據(jù),不要把它當成字符啊,這樣不存在長短了啊,只要輸出用浮點型,保證幾位小數(shù)就行,我寫的小程序供你參考: struct bankdata { int num1; int num2; double x; double y; double z; }data[200000],datastation; struct boxsize_infomation { double a; double b; }boxsize[3]; void readdata() { int i=0; char line[80]; printf("Reading atoms.xyz.........\n" ;fgets(line,80,fp1); fgets(line,80,fp1); sscanf(line,"%d\n",×tep); fgets(line,80,fp1); fgets(line,80,fp1); sscanf(line,"%d\n",&atom_tol); fgets(line,80,fp1); fgets(line,80,fp1); sscanf(line,"%lf %lf\n",&boxsize[0].a,&boxsize[0].b); fgets(line,80,fp1); sscanf(line,"%lf %lf\n",&boxsize[1].a,&boxsize[1].b); fgets(line,80,fp1); sscanf(line,"%lf %lf\n",&boxsize[2].a,&boxsize[2].b); fgets(line,80,fp1); printf("step=%d,timestep=%d\n",step,timestep); while(i fgets(line,80,fp1); sscanf(line,"%d %d %lf %lf %lf\n",&datastation.num1,&datastation.num2,&datastation.x,&datastation.y,&datastation.z); data.num1=datastation.num1; data.num2=datastation.num2; data.x=datastation.x; data.y=datastation.y; data.z=datastation.z; i++; } } void writefile() { fprintf(fp,"ITEM: TIMESTEP\n" ;fprintf(fp,"%d\n",timestep); fprintf(fp,"ITEM: NUMBER OF ATOMS\n" ;fprintf(fp,"%d\n",atom_tol); fprintf(fp,"ITEM: BOX BOUNDS\n" ;fprintf(fp,"%g %g\n",boxsize[0].a,boxsize[0].b); fprintf(fp,"%g %g\n",boxsize[1].a,boxsize[1].b); fprintf(fp,"%g %g\n",boxsize[2].a,boxsize[2].b); fprintf(fp,"ITEM: ATOMS id type xs ys zs\n" ;for (i=0; i fprintf(fp,"%d %d %lf %lf %lf \n",data.num1,data.num2,data.x,data.y,data.z); } } 這個很詳細了哦,仔細看看哦,估計你能看懂,如果不行的話要去補習C++了。 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 085602化工求調(diào)劑(331分) +8 | 111@127 2026-03-30 | 8/400 |
|
|---|---|---|---|---|
|
[考研] 調(diào)劑 +4 | GK72 2026-03-30 | 4/200 |
|
|
[考研] 346求調(diào)劑 一志愿070303有機化學 +7 | 蘿卜燉青菜 2026-03-28 | 8/400 |
|
|
[考研] 309求調(diào)劑 +15 | 誰不是少年 2026-03-29 | 15/750 |
|
|
[考研] 材料專碩 085600求調(diào)劑 +7 | BBQ233 2026-03-30 | 7/350 |
|
|
[考研] 070300一志愿211,312分求調(diào)劑院校 +4 | 小黃鴨寶 2026-03-30 | 4/200 |
|
|
[考研] 317求調(diào)劑 +10 | 蛋黃咸肉粽 2026-03-26 | 10/500 |
|
|
[考研] 275求調(diào)劑 +15 | Micky11223 2026-03-25 | 20/1000 |
|
|
[考研] 299求調(diào)劑 +10 | 15188958825 2026-03-25 | 10/500 |
|
|
[考研] 0856求調(diào)劑 +13 | zhn03 2026-03-25 | 14/700 |
|
|
[考研] 315求調(diào)劑 +4 | akie... 2026-03-28 | 5/250 |
|
|
[考研] 本科新能源科學與工程,一志愿華理能動285求調(diào)劑 +3 | AZMK 2026-03-27 | 5/250 |
|
|
[考研] 一志愿南京航空航天大學材料學碩求調(diào)劑 +3 | @taotao 2026-03-28 | 3/150 |
|
|
[考研] 材料求調(diào)劑 +5 | .m.. 2026-03-25 | 5/250 |
|
|
[考研] 一志愿吉大071010,316分求調(diào)劑 +3 | xgbiknn 2026-03-27 | 3/150 |
|
|
[考研] 總分322求生物學/生化與分子/生物信息學相關(guān)調(diào)劑 +5 | 星沉uu 2026-03-26 | 6/300 |
|
|
[考研] 281求調(diào)劑 +6 | Koxui 2026-03-24 | 7/350 |
|
|
[考研] 309求調(diào)劑 +4 | gajsj 2026-03-25 | 5/250 |
|
|
[考研] 303求調(diào)劑 +6 | 藍山月 2026-03-25 | 6/300 |
|
|
[考研]
|
13659058978 2026-03-24 | 4/200 |
|