楼主犯了很多错。
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程序源代码 急用!!!、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)