Fortran主程序参数及简单文件操作

1. C语言里,主函数main()是可以带参数的,而且如果带参数,只能是两个参数。

  main(int argc, char * argv[])
{
}

这里,如果在cmd里运行程序,程序文件名本身也算一个参数,因此argc = 输入参数个数+1. 而argv[0]存放的就是程序文件名。

2. 在Fortran中主函数是没有参数的,如果要再命令行中执行Fortran程序,向Fortran中传递参数,需要在程序中调用相应的函数。

  

agrc=iargc()

  返回命令行参数的个数

  

call getarg(i,charstring)

  读取命令行的第i个参数,并将其存储到charstring中,其中命令本身是第0个参数

 1 Example:
 2     ! procedure has 2 arguments, one is input file, other is output file
 3 PROGRAM MAIN
 4     IMPLICIT NONE
 5     INTEGER argc
 6     character*60 FILEIN,FILEOUT
 7
 8     IF(nargin==0) THEN
 9         FILEIN      =‘FILE.IN‘   !default
10     ELSEIF(nargin==1) THEN
11         CALL getarg(1, FILEIN);         !Set input file only
12     ELSE
13         CALL getarg(1, FILEIN);         !Set both input and output files
14         CALL getarg(2, FILEOUT);
15     ENDIF
16
17     <Other code>
18
19     stop
20 END MAIN

3. 对于Fortran 2003以后的版本,用如下函数获取参数

函数1:COMMAND_ARGUMENT_COUNT() — Get number of command line arguments

  这是一个function,有返回值。

Example:
          program test_command_argument_count
              integer :: count
              count = command_argument_count()
              print *, count
          end program test_command_argument_count 

子程序2:GET_COMMAND_ARGUMENT  类似于getarg()子程序

用法:CALL GET_COMMAND_ARGUMENT(NUMBER [, VALUE, LENGTH, STATUS])

详解:

  NUMBER是获取第几个参数,VALUE是相应的值;

(让NUMBER=0得到的是可执行程序的名字,如果输入参数个数比NUMBER小,得到的为空。)

  LENGTH是第NUMBER个参数的长度;

STATUS是获取这个参数后的状态

(如果取这个参数错误,返回的是正数;如果VALUE是一个 truncated的参数,那么返回-1;其它情况返回0)

Return value:
The return value is an INTEGER of default kind.
Example:
          program test_command_argument_count
              integer :: count
              count = command_argument_count()
              print *, count
          end program test_command_argument_count

子程序3:GET_COMMAND — Get the entire command line

Description:

Retrieve the entire command line that was used to invoke the program.

Standard:

Fortran 2003 and later

Class:

Subroutine

Syntax:

CALL GET_COMMAND([COMMAND, LENGTH, STATUS])

Arguments:

COMMAND (Optional) shall be of type CHARACTER and of default kind.

LENGTH (Optional) Shall be of type INTEGER and of default kind.

STATUS (Optional) Shall be of type INTEGER and of default kind.

Return value:
If COMMAND is present, stores the entire command line that was used to invoke the program in COMMAND. If LENGTH is present, it is assigned the length of the command line. If STATUS is present, it is assigned 0 upon success of the command, -1 if COMMAND is too short to store the command line, or a positive value in case of an error.
Example:
          PROGRAM test_get_command
            CHARACTER(len=255) :: cmd
            CALL get_command(cmd)
            WRITE (*,*) TRIM(cmd)
          END PROGRAM

4 .Fortran程序定位文件指针到结尾

  将文件指针调整到文件头可以用rewind()函数

  将文件指针调整到文件结尾:可用于判断文件是否完整:在文件结尾设置结尾标记符号,如果遍历一次文件,到结尾时都没有发现”结尾标记“,说明文件不完整。

character buffer
do
    read(1,"(A)",iostat=stat1) buffer
    if(stat1/=0) exit !when file end ,skip to cycle
enddo
时间: 2024-10-19 10:38:42

Fortran主程序参数及简单文件操作的相关文章

android 简单文件操作

1.布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orient

python 命令行参数,以及文件操作

1 #demo.py 2 #!/usr/bin/python 3 import sys 4 5 print sys.argv #python demo.py 11 22 33 44 55 ['demo.py', '11', '22', '33', '55'] 可见,sys.argv是一个list,并且sys.argv[0]是文件名: 文件操作: 1 [email protected]:~/cp# python demo.py 11 2 ['demo.py', 11] 3 #!/usr/bin/p

C语言简单文件操作

一.文件分类 根据数据的组织形式,数据文件可以分为ASCII文件和二进制文件. 1.二进制文件:数据在内存中是以二进制的形式存储的,如果不加转换地输出到外存上,就是二进制文件,可以认为它就是存储在内存的数据的映像,所以也称之为映像文件(image file). 2.ASCII文件:如果要求在外存上以ASCII代码形式存储,则需要在存储前进行转换,ASCII文件又称文本文件(text file),每一个字节放一个字符的ASCII代码. 二.文件缓冲区 在处理数据时,系统自动地在内存区为程序每一个正

Python学习笔记3:简单文件操作

# -*- coding: cp936 -*- # 1 打开文件 # open(fileName, mode) # 參数:fileName文件名称 # mode打开方式 # w     以写方式打开. # a     以追加模式打开 (从 EOF 開始, 必要时创建新文件) # r+     以读写模式打开 # w+     以读写模式打开 # a+     以读写模式打开 # rb     以二进制读模式打开 # wb     以二进制写模式打开 # ab     以二进制追加模式打开 # r

20141227文件夹和文件操作二

文件操作 对文件里面的内容进行读写 PHP5文件操作 将文件的内容整个进行读取和写入 读取文件 file_get_contents:从一个指定的文件内读取数据内容. 写入内容 file_put_contents:将指定的字符串写入到对应的文件 注意:file_put_contents如果要写入的文件不存在,系统会自动创建,有的话就直接写入 默认的file_put_contents写入数据的时候,会先清空数据再写入 如果要在文件后面追加内容:应该使用file_put_contents的第三个参数

PHP 关于文件操作的简单介绍

文件操作一直是Web程序员头疼的地方,而文件操作在CMS这样的系统中又是必须的.如今,PHP文件操作的函数内容已经非常强大,文件这部分也是学习PHP非常重要的一部分,希望大家不要忽略.这篇文章会简单介绍一下PHP的几个基本文件操作,最后附有PHP文件函数汇总,供大家参考和学习. 1. 打开文件:fopen("文件名","模式"); 模式参数: r:只读,将文件指针指向文件头. r+:读/写,将文件指针指向文件头. w:只写,打开并清空文件的内容.如果文件不存在,则创

Web---演示Servlet的相关类、表单多参数接收、文件上传简单入门

说明: Servlet的其他相关类: ServletConfig – 代表Servlet的初始化配置参数. ServletContext – 代表整个Web项目. ServletRequest – 代表用户的请求. ServletResponse – 代表用户的响应. 本篇博客讲解: ServletRequest – 代表用户的请求. ServletResponse – 代表用户的响应. 表单中的多选框参数接收. 文件的上传技术. ServletRequest : ServletRequest

集合、深浅拷贝、文件操作(读、写、追加)函数初识(参数)

小数据池 #int ==比较数值 is 比较内存地址 id 测试内存地址 #str 不能含有特俗字符 单个元素*数字,不能超过21 i1 = 'a'*20 i = 'a'*20 id一样 i1 = 'a'*21 i = 'a'*21 id不一样 编码 ascii   英文的数字,字母,特殊字符 字节 8位表示一个字节 字符 内容的最小组成单位 abc  a一个字符 中国 中  一个字符 unicode :万国码 期初 两个字节,表示一个字符2**16不够用 升级 四个字节,表示一个字符2**32

go语言之行--文件操作、命令行参数、序列化与反序列化详解

一.简介 文件操作对于我们来说也是非常常用的,在python中使用open函数来对文件进行操作,而在go语言中我们使用os.File对文件进行操作. 二.终端读写 操作终端句柄常量 os.Stdin: 标准输入 os.Stdout: 标准输出 os.Stderr: 标准错误输出 读写示例: package main import ( "fmt" "os" ) var( username,password string ) func main() { fmt.Prin