求教:fortran怎么获得本*.for文件所在的绝对路径吗(windows系统)

求教:fortran怎么获得本*.for文件所在的绝对路径吗(windows系统),第1张

楼主犯了很多错。

1Fortran 是编译型的语言,是永远无法获得本 for 所在路径的。实际上,一些大型程序,是由若干(几个,几十个,甚至成百上千个) for 源代码文件共同书写完成。他们可以在同一个文件夹,也可以在不同的文件夹。

2源代码文件一旦编译成 exe,就永远无法获得原来的 exe 在哪儿了。它此时已经完全与 for 源代码文件没有关系了。就好像:我用拼音打了几个字,发送给你了。你永远无法知道我是用QQ拼音打的,还是谷歌拼音,还是百度拼音输入法。

3你可以获得本 exe 所在的文件夹,或者当前活动路径(CurrentDirectory)。大多数时候,你用IDE编译的话,这三个是在同一个文件夹的。(但不绝对,正如我之前说的那样,多个for共同书写同一个代码,for可以在很多个文件夹下)

实际这几个的关系是这样的:

a大多数人把工程文件和for文件放在同一个文件夹。

b大多数编译器会自动把生成的exe放在工程文件夹(或debug文件夹或release文件夹)

c通过windows资源管理器或编译器运行exe,则其CurrentDirectory默认为exe所在文件夹

于是,你就把 CurrentDirectory 当做了 for 所在的文件夹。实际上,上述的过程每个环节都可以变动。

4当前活动路径与 exe 所在路径不同。比如你在桌面上随便找一个快捷方式,右键属性,你会看到,目标,起始位置,是不同的。目标决定一个exe所在的路径,而起始位置,windows会当做当前活动路径。

而如果通过windows资源管理器直接运行exe,则exe所在路径windows就会自动设置为本历程的当前活动路径。

5程序可以通过多种方式改变当前活动路径,而同一个 exe,还可以有多个历程。每个历程都可以自由改变自己的活动路径。(就好像你安装了一个QQ,却可以登陆多个号码一样,每个号码的QQ是一个历程,每个里程的CurrentDirectory可以不同,而且还不固定,QQ可以随时改变它)

6 CHARACTER lpBuffer(nBufferLength) 是一个数组,每个字符串长度是1。如果你要定义一个 nBufferLength 的字符串。请这样定义:

Character( Len = nBufferLength ) lpBuffer

7GetCurrentDirectory 用于获得当前活动路径。而 GetModuleFilename,可以获得当前 exe 所在的路径。

8不管是 GetCurrentDirectory 还是 GetModuleFilename。它们都是 windows 的功能,而不是 Fortran。所以具体使用方法,要看你的编译器说明书。

9回到最终,你无法获得 for 文件所在的路径。(甚至它根本不是唯一的)

第一题

import javautilRandom;

import javautilScanner;

public class Guess{

public static void main(String[] args) {

int rightNum = new Random()nextInt(100) + 1;

Scanner scanner = new Scanner(Systemin);

int input = 0;

do{

Systemoutprint("清猜数字(1-100)!");

input = scannernextInt();

if(input > rightNum){

Systemoutprintln("猜大了!");

}

else if(input < rightNum){

Systemoutprintln("猜小了!");

}

}while(input != rightNum);

Systemoutprintln("猜对了" + rightNum);

}

}

第二题

import javautil ;

public class A{

public static void main(String args[]){

int i,j,k,temp;

int a[][]=new int[2][3];

a[0][0]=(int)(100Mathrandom());

a[0][1]=(int)(100Mathrandom());

a[0][2]=(int)(100Mathrandom());

a[1][0]=(int)(100Mathrandom());

a[1][1]=(int)(100Mathrandom());

a[1][2]=(int)(100Mathrandom());

for(j=0;j<3;j++)

Systemoutprintln("a[0]["+j+"]="+a[0][j]);

Systemoutprintln(" ");

for(j=0;j<3;j++)

Systemoutprintln("a[1]["+j+"]="+a[1][j]);

Systemoutprintln(" ");

for(i=0;i<2;i++){

for(j=0;j<2;j++){

for(k=j;k<2;k++){

if(a[i][j]>a[i][k+1]){

temp=a[i][j];

a[i][j]=a[i][k+1];

a[i][k+1]=temp;

}

}

}

}

Systemoutprintln("第一行按从小到大排列:");

for(j=0;j<3;j++){

Systemoutprintln("a[0]["+j+"]="+a[0][j]);

}

Systemoutprintln("第二行按从小到大排列:");

for(j=0;j<3;j++)

Systemoutprintln("a[1]["+j+"]=" +a[1][j]);

}

}

春春??还不快采纳嘛

以上就是关于求教:fortran怎么获得本*.for文件所在的绝对路径吗(windows系统)全部的内容,包括:求教:fortran怎么获得本*.for文件所在的绝对路径吗(windows系统)、在线等一个java程序源代码 急用!!!、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10171190.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存