program pot_head
implicit none
integer i,j,ierr
character(len=84) str
open(11,file='aa.cube')
open(12,file='temp1')
open(13,file='pot.cub')
open(14,file='temp2')
i=0
do
read(11,"(a84)",iostat=ierr) str
if(str(9:10)=='E') exit
if(ierr/=0) exit
i=i+1
end do
rewind(11)
do j=1,i
read(11,"(a84)") str
write(12,"(a84)") str
end do
close(11)
rewind(12)
do j=1,i
read(12,"(a84)") str
write(14,"(a84)") str
end do
do
read(13,"(a84)",iostat=ierr) str
if (ierr/=0) exit
write(14,"(a84)") str
end do
close(12,status='delete')
close(13,status='delete')
rewind(14)
open(15,file='pot.cub')
do
read(14,"(a84)",iostat=ierr) str
if(ierr/=0) exit
write(15,"(a84)") str
end do
close(14,status='delete')
close(15)
read(*,*)
end program pot_head
9.75 KB, 下载次数: 14
输入文件,解压后出现aa.cube和pot.cub
program pot_head
USE IFPORT
implicit none
integer i, j, n, ierr
character(len=512) :: str = ''
open(11,file='aa.cube',status='old')
open(12,file='temp1')
do i = 1, 10
read(11,"(a)",iostat=ierr) str
if(str(9:10)=='E' .or. ierr/=0) exit
write(12,"(a)") trim(str)
end do
close(11)
open(13,file='pot.cub',status='old')
do
read(13,"(a)",iostat=ierr) str
if (ierr/=0) exit
write(12,"(a)") trim(str)
end do
close(13,status='delete')
close(12)
! ivf扩展函数,改文件名
i = rename('temp1','pot.cub')
if(i==0) then
write(*,*) '成功'
else
write(*,*) '失败'
end if
read(*,*)
end program pot_head
type pot.cub >> pot_new.cub
pasuka 发表于 2016-10-13 23:17
最简单的话,先把aa.cube的头10行的数据写入文件pot_new.cub
然后用管道命令添加后续内容
Windows可以dos命 ...
978142355 发表于 2016-10-14 08:25
嗯,谢谢pasuka老师,这种方法很简洁,也很简单,速度的话,和上面Li老师的差不多,谢谢你的建议,让我又 ...
3.将文件1.txt和2.txt合并为3.txt
copy /b c:\1.txt+2.txt c:\3.txt
命令格式:copy /b 文件1+文件2+......文件N 合并后的文件名
命令讲解:使用"+"将多个相同或不同格式的文件合并为一个文件。
小提示:
1.在尾部隐藏了文本数据的图片文件,在使用了其他文件编辑器并保存后,隐藏的文本数据有可能丢失。
2.MP3文件在使用此方法连接后,就可以实现连续播放。
3.合成图片/歌曲这样的二进制文件必须使用/b参数(b代表Binaty,二进制),否则将会失败;另一个合并参数是/a(ASCII,文本文件),只能用于纯文本的合并。两参数不能同时使用,二进制方式可以合并文本文件和二进制文件,而文本方式用于纯文本的合并。
pasuka 发表于 2016-10-14 09:17
过奖了
换成copy命令合并两个文件,也许能进一步提高效率譬如
vvt 发表于 2016-10-15 11:28
head -10 aa.cube > pot_new.cub
cat pot.cub >> pot_new.cub
欢迎光临 Fortran Coder (http://bbs.fcode.cn/) | Powered by Discuz! X3.2 |