回 帖 发 新 帖 刷新版面

主题:请问fortran如何修改文件名?

假如a.txt已经存在,我想用fortran将文件名改为b.txt,
想问一下大家如何实现??
万分感谢!!

回复列表 (共6个回复)

沙发

新建一个B.TXT   OPEN(4,FILE='B.TXT', STATUS='UNKNOWN')
再把A.TXT写进去  ok?

板凳

1.像楼上那样,读取a所有内容,写入b。适合所有编译器

2.VF 编译器,可使用编译器扩展的功能

USE DFLIB 
result = RENAMEFILEQQ( 'a.txt', 'b.txt' )

或者

use dfport
 integer(4) istatus
 character*12 old_name, new_name
 print *, "Enter file to rename: "
 read *, old_name
 print *, "Enter new name: "
 read *, new_name
 ISTATUS = RENAME (old_name, new_name)


3.对于允许使用 API 函数的编译器,在windows环境下可以用API函数。

比如
  Use Kernel32
  Implicit None
  Integer i
  i = MoveFile( 'a.txt' , 'b.txt' )

4.对于允许使用系统命令行的编译器,可使用系统命令改名,比如windows下的 ren 命令

  USE DFPORT
  Implicit None
  Integer i
  i= system("ren a.txt b.txt")

3 楼

文件太大,速度比较慢。。。

4 楼


谢谢。在linux上用gfortran如何实现呢?

5 楼

若是批量改名,我一般用 Total Commander

6 楼

[quote]
谢谢。在linux上用gfortran如何实现呢?[/quote]

因为这些都不是 Fortran 语法的内容,所以你需要查阅编译器的说明书。

看编译器是否提供使用系统命令行的扩展,或者系统API功能

我来回复

您尚未登录,请登录后再回复。点此登录或注册